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 是並聯的,&& 是串聯的。

在時間上,第一個方法遠比第二個方法要快。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章