npm run 同时执行多个命令

  在项目中可能需要一套代码同时部署几套环境,每一次改动就需要同时打包N次。这时就需要能够一个命令同时打包多次,省去了很多麻烦。

  这里我们需要用到 concurrently 这个 npm 包,能够实现我们要的功能。

// 首先进行安装
npm install concurrently --save

// 然后在 package.json 里面的 scripts 内部修改
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "lint": "eslint --ext .js,.vue src",
    "test": "node build/build.js test",
    "prepub:hwt": "node build/build.js hwy_test",
    "prepub:dxt": "node build/build.js dxy_test",
    "build:hw": "node build/build.js hwy_pro",
    "build:dx": "node build/build.js dxy_pro",
    "all": "concurrently \"node build/build.js hwy_test\" \"node build/build.js dxy_test\"  \"node build/build.js hwy_pro\" \"node build/build.js dxy_pro\""
  },

上面的 all 就相当与同时执行了 prepub:hwt、prepub:dxt、build:hw、build:dx 这四个命令。

这是其一,还有一种方法也可以执行多个命令,就是在两个命令之间用 && 连接:

// 首先进行安装
npm install concurrently --save

// 然后在 package.json 里面的 scripts 内部修改
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "lint": "eslint --ext .js,.vue src",
    "test": "node build/build.js test",
    "prepub:hwt": "node build/build.js hwy_test",
    "prepub:dxt": "node build/build.js dxy_test",
    "build:hw": "node build/build.js hwy_pro",
    "build:dx": "node build/build.js dxy_pro",
    "all": "node build/build.js hwy_test && node build/build.js dxy_test && node build/build.js hwy_pro && node build/build.js dxy_pro"
  },

两种方法都能实现一个命令执行多个脚本,不同的是 concurrently 是并联的,&& 是串联的。

在时间上,第一个方法远比第二个方法要快。

 

posted @ 2019-10-21 18:07  前端杂货  阅读(9695)  评论(0编辑  收藏  举报