在我的
package.json
中,我定义了两个脚本。我如何同时运行它们?
"scripts": {
"server": "webpack-dev-server",
"webpack": "webpack -wd",
},
通过 npm run 调用脚本,使用 & 进行并行执行,或使用 && 进行顺序执行:
npm run server & npm run webpack
说明:
Use && for sequential execution.
Use & for parallel execution.
您可以使用 npm-run-all* 以多种不同的方式组合多个命令
*警告:最后更新于 2018 年
例如,如果您的
package.json
中有以下脚本:
"scripts": {
"lint": "eslint src",
"build": "babel src -o lib"
}
您可以像这样并行运行它们:
$ npm-run-all --parallel lint build
请参阅此问题了解如何按顺序运行多个 npm 命令
"scripts": {
"sw": "webpack-dev-server & webpack -wd"
},
然后
npm run sw
到目前为止,语法似乎发生了一些变化,您需要在引号内传递 & 。
下面是我为演示脚本运行的命令。
对于顺序执行:
npm run temp '&&' npm run temp1
用于并行执行
npm run temp '&' npm run temp1
您可以使用像parallelshel这样的模块。
https://www.npmjs.com/package/parallelshell
正如 npm 官方网站所说:
最大的区别是parallelshell是一个npm模块和GNU 平行则不然。虽然他们可能做类似的事情,尽管(GNU) parallel 更高级,parallelshell 是一个更简单的选项 使用 npm 时使用(因为它是一个 npm 模块)。
如果您项目的所有机器上都安装了 GNU Parallel 将会开启,那么一定要使用它! :)
-
这与以下有何不同:
$ cmd1 & cmd2 & cmd3
- 跨平台——适用于 Unix 或 Windows。
使用 同时 运行多个 npm 脚本。
步骤:
运行
npm i concurrently
同时安装。修改package.json中的脚本,添加all(您可以更改为其他名称)。
“脚本”:{ “服务器”:“webpack-dev-server”, "webpack": "webpack -wd", "all": "同时\"npm run server\" \"npm run webpack\"" },
运行
npm run all
执行多个 npm 脚本。