【问题标题】:running parallel npm scripts on windows在 Windows 上运行并行 npm 脚本
【发布时间】:2017-12-11 04:32:02
【问题描述】:

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

【问题讨论】:

    标签: javascript node.js npm package.json npm-scripts


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 是的,这就是我最终使用的。谢谢!
      猜你喜欢
      • 2016-05-26
      • 2023-01-17
      • 2016-06-25
      • 2015-05-07
      • 2018-07-01
      • 2015-09-06
      相关资源
      最近更新 更多