运行 windows 上的并行 npm 脚本

running parallel npm scripts on windows

我的 package.json 中有一个 npm 并行脚本,它适用于 mac 但不适用于 windows:

"myScript": "nodemon ./server.js & cross-env NODE_ENV=development webpack-dev-server"

当它被分成两个脚本分别运行时,它在mac和windows上都可以正常工作:

"myScript1": "cross-env NODE_ENV=development webpack-dev-server",
"myScript2": "nodemon ./server.js",

我想保留并行脚本,这样我就不必分别 运行 了。如何在 windows 上进行这项工作?

我有一个解决方法,使用模块 concurrently。所以你的脚本部分看起来像这样:

scripts: {
  "myScript": "concurrently \"npm run myScript1\" \"npm run myScript2\"",
  "myScript1": "cross-env NODE_ENV=development webpack-dev-server",
  "myScript2": "nodemon ./server.js",
}

我推荐使用 npm-run-all 我认为语法更简洁:

scripts: {
  "myScript": "run-p myScript1 myScript2",
  "myScript1": "cross-env NODE_ENV=development webpack-dev-server",
  "myScript2": "nodemon ./server.js",
}

这个 npm-run-all 软件包提供了 3 个 CLI 命令。

  • npm-run-all
  • run-s
  • run-p

主要命令是npm-run-all。我们可以使用 npm-run-all 命令制定复杂的计划。

run-s 和 run-p 都是 shorthand 命令。
run-s 用于顺序,run-p 用于并行。我们可以用这些命令制定简单的计划。