最新的
vue-cli 3.0
變化非常大。但是不同環境的壓包配置方法更加簡單了。
環境變數與模式
我們主要配置兩種模式,測試環境及生產環境。
我們在專案根目錄建立兩個檔案:
.env.development
VUE_APP_API_URL_WEB=https://testa-test.com
VUE_APP_API_URL_APP=https://testb-test.com
複製程式碼
這個配置檔案用於
vue-cli-service serve
,如果有修改,需要重新啟動專案才會使用最新的變數。
.env.production
VUE_APP_API_URL_WEB=https://testa.com
VUE_APP_API_URL_APP=https://testb.com
複製程式碼
這個配置檔案用於
vue-cli-service build
。
package.json配置修改
package.json
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
+ "build:prod": "vue-cli-service build --mode production",
+ "build:dev": "vue-cli-service build --mode development",
"lint": "vue-cli-service lint"
},
複製程式碼
壓包命令
測試環境壓包
npm run build:dev
複製程式碼
vue-cli-service build --mode development
通過傳遞 --mode 選項引數為命令列覆寫預設的模式。
這裡用development
的模式覆寫build
預設使用的production
模式。
生產環境壓包
npm run build
複製程式碼
或者
npm run build:prod
複製程式碼
更多環境壓包
這裡假設我們還有另外一個環境prodev
需要壓包,這時候我們需要新增對應的命令,並新增對應的配置。
新增配置檔案
在根目錄新增一個配置檔案.env.prodev
。
.env.prodev
NODE_ENV=production
VUE_APP_API_URL_WEB=https://testa-prodev.com
VUE_APP_API_URL_APP=https://testb-prodev.com
複製程式碼
注意這裡如果不新增
NODE_ENV=production
,那最終打包時NODE_ENV
值為development
。
package.json
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
+ "build:prod": "vue-cli-service build --mode production",
+ "build:dev": "vue-cli-service build --mode development",
+ "build:prodev": "vue-cli-service build --mode prodev",
"lint": "vue-cli-service lint"
},
複製程式碼
壓包
npm run build:prodev
複製程式碼
總結
vue-cli 3.0
的不同環境壓包設定現在是真的非常方便了。
還有其他的配置自由度都非常高,有待更多的探索。