简体   繁体   English

在 Windows 上运行并行 npm 脚本

[英]running parallel npm scripts on windows

I have an npm parallel script in my package.json that works on a mac but not on windows:我的 package.json 中有一个 npm 并行脚本,它适用于 mac 但不适用于 Windows:

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

When it is separated into two scripts to run separately, it works fine on both mac and windows:当它分成两个脚本单独运行时,它在mac和windows上都可以正常工作:

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

I would like to keep the parallel script so that I don't have to run both separately.我想保留并行脚本,这样我就不必单独运行两者。 How do I make this work on windows?我如何在 Windows 上进行这项工作?

I have a workaround for this, using module concurrently .我有一个解决方法,同时使用模块。 So you script section would look something like this:所以你的脚本部分看起来像这样:

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

I recommend using npm-run-all I think the syntax is a bit cleaner:我建议使用npm-run-all我认为语法更简洁:

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

This npm-run-all package provides 3 CLI commands.这个 npm-run-all 包提供了 3 个 CLI 命令。

  • npm-run-all npm-run-all
  • run-s运行-s
  • run-p运行-p

The main command is npm-run-all.主要命令是 npm-run-all。 We can make complex plans with npm-run-all command.我们可以使用 npm-run-all 命令制定复杂的计划。

Both run-s and run-p are shorthand commands. run-s 和 run-p 都是速记命令。
run-s is for sequential, run-p is for parallel. run-s 表示顺序,run-p 表示并行。 We can make simple plans with those commands.我们可以使用这些命令制定简单的计划。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM