如何并行运行多个 npm 脚本?

新手上路,请多包涵

在我的 package.json 我有这两个脚本:

  "scripts": {
    "start-watch": "nodemon run-babel index.js",
    "wp-server": "webpack-dev-server",
  }

每次开始使用 Node.js 进行开发时,我都必须 并行 运行这两个脚本。我想到的第一件事是添加这样的第三个脚本:

"dev": "npm run start-watch && npm run wp-server"

…但这将等待 start-watch 在运行 wp-server 之前完成。

我怎样才能并行运行这些? 请记住,我需要查看这些命令的 output 。此外,如果您的解决方案涉及构建工具,我宁愿使用 gulp 而不是 grunt ,因为我已经在另一个项目中使用它。

原文由 Andre Pena 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

使用一个名为 concurrent 的包。

 npm i concurrently --save-dev

然后像这样设置你的 npm run dev 任务:

 "dev": "concurrently --kill-others \"npm run start-watch\" \"npm run wp-server\""

原文由 Neil Kistner 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您使用的是类 UNIX 环境,只需使用 & 作为分隔符:

 "dev": "npm run start-watch & npm run wp-server"

否则,如果您对跨平台解决方案感兴趣,可以使用 npm-run-all 模块:

 "dev": "npm-run-all --parallel start-watch wp-server"

原文由 Diogo Cardoso 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题