1

我的 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 上进行这项工作?

4

2 回答 2

1

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

scripts: {
  "myScript": "concurrently \"npm run myScript1\" \"npm run myScript2\"",
  "myScript1": "cross-env NODE_ENV=development webpack-dev-server",
  "myScript2": "nodemon ./server.js",
}
于 2017-07-07T07:14:41.693 回答
0

我推荐使用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-运行-所有
  • 运行-s
  • 运行-p

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

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

于 2020-10-13T16:54:15.077 回答