批处理文件在运行一个节点应用程序脚本后退出

11

我需要在Node中运行多个UglifyJS2脚本。我已经将要运行的命令添加到批处理文件中,它可以正常运行。

但是当我添加第二个命令,比如 "cd ..",该命令就不能被执行!非常令人困惑。

cd go somewhere
uglifyjs ..\somescript -o ..\somefile.min.js --source-map ..\somemap.js.map --screw-ie8 
cd ..

我希望能够从同一个批处理文件运行多个不同的脚本。

uglifyjs ..\somescript1 -o ..\somefile1.min.js
uglifyjs ..\somescript2 -o ..\somefile2.min.js
uglifyjs ..\somescript3 -o ..\somefile3.min.js

我不确定这是在Node、Uglify还是预期行为中的问题。

1个回答

19

我不确定你的安装情况,但很可能你正在调用一个 uglifyjs.cmduglifyjs.bat。当你从一个批处理文件中调用另一个批处理文件时,执行将转移到被调用的文件并且不会返回到调用者。

如果你想要调用第二个批处理文件,并且在它结束后,继续执行调用者,你需要使用 call 命令。

cd go somewhere
call uglifyjs ..\somescript -o ..\somefile.min.js --source-map ..\somemap.js.map --screw-ie8 
cd ..

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