vue-cli3實現分環境打包步驟(給不一樣的環境配置相對應的打包命令)

在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'))
  }
}
相關文章
相關標籤/搜索