在vue-cli3的項目中,
npm run serve時會把process.env.NODE_ENV設置爲‘development’;
npm run build 時會把process.env.NODE_ENV設置爲‘production’;
此時只要根據process.env.NODE_ENV設置不一樣請求url就能夠很簡單的區分出本地和線上環境。vue
打包時線上環境可能分多種,好比測試環境和生產環境等等。
在vue-cli2中打包時能夠修改 「build」 和 「config」中的文件來區分不一樣的線上環境
而vue-cli3號稱0配置,沒法直接修改打包文件,那麼怎麼區分不一樣的線上環境呢?vue-cli
1.package.json添加命令"alpha" npm
"scripts": { "dev": "vue-cli-service serve", "serve": "vue-cli-service serve", "alpha": "vue-cli-service build --mode alpha", "build": "vue-cli-service build --mode build", "lint": "vue-cli-service lint", "test:e2e": "vue-cli-service test:e2e", "test:unit": "vue-cli-service test:unit" }
2. 在項目根目錄添加文件「.env.alpha」,其內容:json
NODE_ENV = 'production' VUE_APP_TITLE = 'alpha'
3.在項目根目錄添加文件「.env.build」,其內容:測試
NODE_ENV = 'production' VUE_APP_TITLE = 'production'
例: 如在測試生產環境build時不壓縮js文件ui
4.vue.config.jsurl
module.exports = { chainWebpack: config => { if(process.env.NODE_ENV === 'production') { // 測試生產環境, 不壓縮js代碼 if (process.env.VUE_APP_TITLE === 'alpha') { config.optimization.minimize(false) } } config.resolve.alias .set('@', resolve('src')) } }