vue項目分環境打包的具體步驟 --- 區分測試環境與線上環境的打包引用路徑


第一步: 安裝cross-env   

npm install --save-dev cross-env

運行跨平台設置和使用環境變量的腳本

 第二步:修改package.json

在package.json

里設置打包命令 --- 主要是基於使用vue-cli創建的項目,配置文件基於 NODE_ENV=production 去處理,根據盡少的改動原有配置文件的原則,我們在這里,NODE_ENV最好都設成production,

增加一個  EVN_CONFIG 字段去區分環境  

 NODE_ENV=production EVN_CONFIG=dev  對應着

 process.env.EVN_CONFIG(指的就是package.json 的EVN_CONFIG) 與config/index.js  的build  環境值 有對應關系

對package.json文件中的scripts內容進行個性,添加上新定義的幾種環境的打包過程,里的參數與前面的調協保持一致。

    "build:dev": "cross-env NODE_ENV=production EVN_CONFIG=dev node build/build.js",
    "build:test": "cross-env NODE_ENV=production EVN_CONFIG=testing node build/build.js",
    "build:prod": "cross-env NODE_ENV=production EVN_CONFIG=production node build/build.js"

  

 

 

第三步:修改config/index.js  

修改config/index.js文件中build參數,這里的參數會在build/webpackage.prod.conf.js中使用到

 

第四步 修改build/webpackage.prod.conf.js

 env   ------ process.env.EVN_CONFIG 與config/index.js  的build  環境值 有對應關系

true
testing

console.log(env) ---- { NODE_ENV: '"production"', EVN_CONFIG: '"testing"' }

 

 

 

 

 

初衷是為了 -- 區分測試環境與線上環境的打包引用路徑  

 

index: 模板
assetRoot: 打包后文件要存放的路徑
assetsSubDirectory: 除了 index.html 之外的靜態資源要存放的路徑,
assetsPublicPath: 代表打包后,index.html里面引用資源的的相對地址

  

build: {
    // 添加test dev prod 三處環境的配制
    production: require('./prod.env'),
    dev: require('./dev.env'),
    testing: require('./test.env'),
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    // assetsRoot: process.env.EVN_CONFIG === 'testing'?'../dist':'../h5',
    // assetsSubDirectory: './static',
    // assetsPublicPath: '/h5/',
    assetsSubDirectory:process.env.EVN_CONFIG === 'testing' ? './static':'static',
    assetsPublicPath:process.env.EVN_CONFIG === 'testing' ? '/h5/':'/',

  

 

 


免責聲明!

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



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