@Vue/cli3.0 以上版本不同環境使用不同配置文件打包


一、在項目跟目錄下新增配置配置文件(如果存在則不需要新建):

1、文件 .env ,該文件配置的內容不論什么環境打包都會生效

* 公共配置信息,根據自己需求添加

 

2、文件 .env.dev ,開發環境配置文件,內容:

NODE_ENV=development
VUE_APP_URL=127.0.0.1:8081

 

3、文件 .env.prod ,生產環境配置文件,內容:

NODE_ENV=production
VUE_APP_URL=127.0.0.1:8082

 

二、package.json 文件曾加下面紅色文字內容:

{
  "name": "vue-vant-ui",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "build:dev": "vue-cli-service build --mode dev",
    "build:prod": "vue-cli-service build --mode prod"
  },

 

至此,不同環境打包配置文件已經生效,對應打包命令:

npm run build:dev
npm run build:prod

打包命令紅色部分對應 package.json 新增內容中的 key

 

三、其余地方如何使用配置文件中的配置,下面是vue.config.js中一些用到的地方,高亮顯示,其余地方用法一致:

console.log('==================系統初始化,vue.config.js 配置文件開始加載==================');

const path = require('path');
function resolve (dir) {
    return path.join(__dirname, dir);
}

var targetUrl = 'http://localhost:8080';
if (process.env.VUE_APP_URL != undefined && process.env.VUE_APP_URL != '') {
  targetUrl = process.env.VUE_APP_URL;
}
console.log('targetUrl:' + targetUrl);

module.exports = {
  publicPath: process.env.NODE_ENV === "production" ? "./" : "./", // 部署應用時的根路徑(默認'/'),也可用相對路徑(存在使用限制)
  outputDir: "dist", // 運行時生成的生產環境構建文件的目錄(默認''dist'',構建之前會被清除)
  assetsDir: "static", //放置生成的靜態資源(s、css、img、fonts)的(相對於 outputDir 的)目錄(默認'')
  lintOnSave: true, // 是否開啟eslint保存檢測
  productionSourceMap: false, // 是否在構建生產包時生成sourcdeMap
  chainWebpack: (config) => {
      config.resolve.alias  // 為指定目錄設置全局別名
        .set('@', resolve('src'))
        .set('@public', resolve('public'))
  },
  devServer: {
    /* 本地ip地址 */
    host: "localhost",
    port: "80",
    hot: true,
    /* 自動打開瀏覽器 */
    open: false,
    overlay: {
      warning: false,
      error: true
    }, // 錯誤、警告在頁面彈出
    /* 跨域代理 */
    proxy: {
      "/api": {
        /* 目標代理服務器地址 */
        target: targetUrl , //
        /* 允許跨域 */
        changeOrigin: true,
        ws: true,
        pathRewrite: {
          "^/api": ""
        }
      } //,
      // '/foo': {
      //   target: '<other_url>'
      // }
    }
    // pluginOptions: {// 第三方插件配置
    //
    // }
  }
};

console.log('==================系統初始化,vue.config.js 配置文件加載結束==================');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM