vue項目中運用webpack動態(tài)配置打包多種環(huán)境域名的方法
在如今前后端分離,各種框架盛行的前端界,對項目的打包要求也越來越復(fù)雜,本人分享一個vue項目里,根據(jù)命令行輸入不同的命令,打包出不同環(huán)境域名的方法。(歡迎糾錯,謝謝。)
1. 安裝插件 cross-env,npm install cross-env --save -dev,用于配置命令行輸入命令。
2. 修改package.json里的script命令:
配置了test(測試),ready(預(yù)發(fā)布),prod(正式)三種環(huán)境,npm run build 默認設(shè)置成 npm run build:prod,也可以根據(jù)自己需求,配置更多的命令,參數(shù)自定。網(wǎng)上看到有人去修改NODE_ENV這個默認的參數(shù),配置文件里有很多地方都引用了這個參數(shù)。本人認為這個默認參數(shù)可以不改,自己重新增加一個參數(shù)就行(這里增加一個BUILD_ENV參數(shù))。
"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的值,再根據(jù)BUILD_ENV進行相應(yīng)的判斷。在項目里,就可以通過process.env拿到prod.env.js暴露出去的3個屬性。比如接口文件,就需要process.env.baseUrl來動態(tài)修改不同環(huán)境域名。
總結(jié)
以上所述是小編給大家介紹的vue項目中運用webpack動態(tài)配置打包多種環(huán)境域名的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
vue-element-admin?登陸及目錄權(quán)限控制的實現(xiàn)
本文主要介紹了vue-element-admin?登陸及目錄權(quán)限控制的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
vue3.0中的雙向數(shù)據(jù)綁定方法及優(yōu)缺點
這篇文章主要介紹了vue3.0中的雙向數(shù)據(jù)綁定方法 ,文中通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
在使用vuex的時候出現(xiàn)commit未定義錯誤的解決
這篇文章主要介紹了在使用vuex的時候出現(xiàn)commit未定義錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
Vue利用mockjs編寫假數(shù)據(jù)并應(yīng)用的問題記錄
這篇文章主要介紹了Vue利用mockjs編寫假數(shù)據(jù)并應(yīng)用,本文通過實例代碼給大家詳細講解,對Vue?mockjs數(shù)據(jù)相關(guān)知識感興趣的朋友跟隨小編一起看看吧2022-12-12
vue3中安裝并使用CSS預(yù)處理器Sass的方法詳解
Sass是一種CSS預(yù)處理器,它擴展了CSS的功能,提供了更高級的語法和特性,例如變量、嵌套、混合、繼承和顏色功能等,這些特性可以幫助開發(fā)者更高效地管理和維護樣式表,本文介紹vue3中安裝并使用CSS預(yù)處理器Sass的方法,感興趣的朋友一起看看吧2024-01-01

