使用Windows命令提示符编译多个LESS文件

3

我正在尝试使用Windows命令行自动化一个过程。其中一部分自动化是将几个.less文件编译为.css文件。我已经成功安装了node.js和LESS编译器,使用npm进行安装。

我有一个包含以下命令的命令提示符脚本(.cmd):

echo Compiling CSS...   
pause
lessc -x C:\path_to_file\file1.less > ..\output\file1.css
pause
lessc -x C:\path_to_file\file2.less > ..\output\file2.css
pause

第一条lessc命令可以正常运行,没有编译错误,并且按预期将文件1.css保存到输出文件夹中。
然后,命令行窗口毫不留情地退出,甚至没有执行第二个暂停命令,更别提请求用户输入了。
我不明白为什么命令提示符会退出。有人有什么想法吗?
谢谢。

2
在Windows中,lessc是一个命令行脚本本身(lessc.cmd),因此第一个命令将控制权转移到lessc.cmd,并且永远不会返回到您自己的脚本。应该使用call lessc。(另外,>不是必需的,并且根据所使用的输入/输出路径和选项可能会导致其他问题)。 - seven-phases-max
谢谢你的见解。我开始怀疑是否是这种情况,但我不知道有什么解决方法。我会尝试使用“call”。 - dalemac
“call” 看起来完美无缺。感谢提示! - dalemac
1个回答

2

如seven-phases-max所述,Less是Windows中的一条命令行脚本,不会返回到原始脚本。

解决方法是使用call。 脚本最终应为:

echo Compiling CSS...   
pause
call lessc -x C:\path_to_file\file1.less ..\output\file1.css
pause
call lessc -x C:\path_to_file\file2.less ..\output\file2.css
pause

所有的荣誉都归七个阶段的最大值,我只是想澄清正确的方法,因为这可能有助于将来的其他人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接