Windows批量结合咖啡脚本,复制和丑化

时间:2013-04-12 08:15:34

标签: windows command-line batch-file coffeescript

所以我试着编写一个很好的批处理文件来组合我的javascript库,组合并编译我的.coffee文件,将两个结果合并,然后用uglyify缩小它。 但是我遇到了我的批处理文件的一些问题;在我的coffee命令之后,批处理文件停止运行。我没有得到任何错误或其他什么。

这是我的文件结构

batch.bat
src/
     coffee/
             1.coffee
             2.coffee
     js/
             1.js
             2.js

这是我的批处理文件的内容

mkdir temp
coffee --output temp --join coffee.js --compile src\coffee
copy /b src\js temp\javascript.js
copy /b temp\javascript.js+temp\coffee.js temp\min.js
uglifyjs -o  javascript.js temp\min.js

如上所述,当我从控制台运行此命令时,执行mkdir命令,咖啡脚本运行并完成,然后批处理停止。 我手动测试了命令,命令本身就像我期望的那样工作。

这是我在控制台中看到的结果:

C:\User>mkdir temp
C:\User>coffee --output temp --join coffee.js --compile src\coffee
C:\User>_

我的想法是,咖啡命令可能运行异步,并且复制命令无法找到要合并的所需文件,因此由于缺少文件而无法执行其他命令。到目前为止,我还没能找到解决这个问题的方法..

1 个答案:

答案 0 :(得分:2)

关键在于您的术语 - 咖啡 - SCRIPT

因为它显然是一个BATCH文件,所以你需要CALL

mkdir temp
CALL coffee --output temp --join coffee.js --compile src\coffee
copy /b src\js temp\javascript.js
copy /b temp\javascript.js+temp\coffee.js temp\min.js
uglifyjs -o  javascript.js temp\min.js

如果你愿意的话,你也可以CALL UGLIFYJS - 但是因为这是最后一个命令,所以没有区别。

CALL设置一个返回位置,以便在脚本完成时恢复处理。