您好,登錄后才能下訂單哦!
這篇文章主要介紹vue項目中如何運用webpack動態配置打包多種環境域名,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在如今前后端分離,各種框架盛行的前端界,對項目的打包要求也越來越復雜,本人分享一個vue項目里,根據命令行輸入不同的命令,打包出不同環境域名的方法。
1. 安裝插件 cross-env,npm install cross-env --save -dev
,用于配置命令行輸入命令。
2. 修改package.json里的script命令:
配置了test(測試),ready(預發布),prod(正式)三種環境,npm run build 默認設置成 npm run build:prod,也可以根據自己需求,配置更多的命令,參數自定。網上看到有人去修改NODE_ENV這個默認的參數,配置文件里有很多地方都引用了這個參數。本人認為這個默認參數可以不改,自己重新增加一個參數就行(這里增加一個BUILD_ENV參數)。
"scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev", "unit": "jest --config test/unit/jest.conf.js --coverage", "e2e": "node test/e2e/runner.js", "test": "npm run unit && npm run e2e", "build": "npm run build:prod", "build:test": "cross-env NODE_ENV=production BUILD_ENV=test node build/build.js", "build:ready": "cross-env NODE_ENV=production BUILD_ENV=ready node build/build.js", "build:prod": "cross-env NODE_ENV=production BUILD_ENV=prod node build/build.js" },
3. 修改config目錄下的prod.env.js
里面的默認配置是這樣:只有一個NODE_ENV
'use strict' module.exports = { NODE_ENV: '"production"', }
修改后的配置:
'use strict' const BUILD_ENV = process.env.BUILD_ENV let baseUrl switch (BUILD_ENV) { case 'test': baseUrl = 'api.test.com' break; case 'ready': baseUrl = 'api.ready.com' break; case 'prod': baseUrl = 'api.prod.com' break; } module.exports = { NODE_ENV: '"production"', BUILD_ENV: '"' + BUILD_ENV + '"', baseUrl: '"' + baseUrl + '"', }
修改的配置增加了BUILD_ENV和baseUrl兩個屬性, 屬性值記得拼接雙引號 ,process.env.BUILD_ENV就是命令行里輸入的BUILD_ENV的值,再根據BUILD_ENV
進行相應的判斷。在項目里,就可以通過process.env
拿到prod.env.js暴露出去的3個屬性。比如接口文件,就需要process.env.baseUrl來動態修改不同環境域名。
以上是“vue項目中如何運用webpack動態配置打包多種環境域名”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。