【发布时间】:2021-11-17 09:38:55
【问题描述】:
我有一个带有脚本标签的 package.json 文件,如下所示。
{
"name": "name",
"version": "1.0.1",
"license": "MIT",
"scripts": {
"cmd1": "cd packages/apis/ && yarn start",
"cmd2": "cd packages/utils/ && yarn start",
"cmd3": "cd packages/components/ && yarn start",
"cmd4": "cd services/ad/ && yarn dev",
"start": "yarn cmd1 && yarn cmd2 && yarn cmd3 && yarn cmd4"
},
"dependencies": {
// dependencies listed here
}
}
上面的命令按顺序运行每个命令,但是会等待上一个命令完成执行,然后再执行下一个命令。但问题是上述每个命令都在监视不同的服务以查找文件的更改,然后相应地编译它们。这意味着上面的start 命令只运行第一个命令,即cmd1 并观察它,而不运行其余命令。
我尝试使用concurrently 包,但它并行运行所有命令。我还查看了npm-run-all 包,但在尝试使用ctrl + c 组合键停止进程时似乎出现问题,因为它不会停止进程,所以我必须关闭终端。
有没有其他方法可以让它们在查看所有 cmd 的同时按顺序运行?
【问题讨论】:
-
所以您希望
cmd2在cmd1之后执行,但cmd1继续运行?cmd2如何知道何时执行? -
@Marcin 这就是我的问题。我怎样才能做到这一点?
标签: javascript npm package