在vue-cli3的項目中,
npm run serve時會把process.env.NODE_ENV設置為‘development’;
npm run build 時會把process.env.NODE_ENV設置為‘production’;
此時只要根據process.env.NODE_ENV設置不同請求url就可以很簡單的區分出本地和線上環境。
打包時線上環境可能分多種,比如測試環境和生產環境等等。
在vue-cli2中打包時可以修改 “build” 和 “config”中的文件來區分不同的線上環境
而vue-cli3號稱0配置,無法直接修改打包文件,那么怎么區分不同的線上環境呢?
1.package.json添加命令"alpha"
"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”,其內容:
NODE_ENV = 'production' VUE_APP_TITLE = 'alpha'
3.在項目根目錄添加文件“.env.build”,其內容:
NODE_ENV = 'production' VUE_APP_TITLE = 'production'
例: 如在測試生產環境build時不壓縮js文件
4.vue.config.js
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'))
}
}
