2

节点版本: v.10.15.3

ShellJS 版本: 0.8.3

操作系统: Windows 10

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

我尝试了以下,没有错误,但是没有打印回声并且some_npm_script没有执行脚本,这可能吗?就像我在下面做的那样?这适用于Linux机器顺便说一句。

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

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

感谢您提供任何帮助,解释为什么它不起作用或任何解决方案或资源,谢谢。

4

1 回答 1

1

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

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

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

于 2019-07-04T09:27:39.700 回答