所以我试着编写一个很好的批处理文件来组合我的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>_
我的想法是,咖啡命令可能运行异步,并且复制命令无法找到要合并的所需文件,因此由于缺少文件而无法执行其他命令。到目前为止,我还没能找到解决这个问题的方法..
答案 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设置一个返回位置,以便在脚本完成时恢复处理。