如何使用ShellJS在JS NPM脚本中等待进程

时间:2019-07-04 06:34:32

标签: javascript bash shell npm-scripts shelljs

节点版本: v.10.15.3

ShellJS版本: 0.8.3

操作系统: Windows 10

是否可以等待一个进程完成,然后在Node.js脚本的Windows系统中使用wait命令启动另一个进程?

我尝试了以下操作,没有错误,但是未打印回显并且未执行脚本some_npm_script,这可能吗?就像我在下面一样吗?可以在Linux机器BTW中使用。

shell.exec(truncate -s 0 ./somefile.js)这样的命令有效,但是在ShellJS模块的源代码中看不到truncate命令。

shell.exec(`
echo "Installing"
yarn add some_npm_package &
pid=$!
wait $pid
echo "Done installing"
yarn some_npm_script
`);

感谢您的协助,感谢您对任何原因的解释,解决方案或资源。

1 个答案:

答案 0 :(得分:0)

我已经通过将特定的代码段移动到bash / sh NPM脚本中实现了自己的目标,然后我使用了shell.exec函数froom shellJS在bash / sh NPM脚本中执行bash NPM脚本。 JS NPM脚本如下:

shell.exec(yarn bash_npm_script_name) // the script that using the wait command

所以这对我有用,它等待软件包安装,并在完成后运行脚本。