vue項(xiàng)目多環(huán)境配置(.env)的實(shí)現(xiàn)
沒接觸多環(huán)境配置前,感覺好高大上,真正操作后感覺也就那么回事,在此把自己遇到的問題和解決方案敘述一下,有不對的地方歡迎各位大佬指出。
什么是多環(huán)境配置,為什么要多環(huán)境配置?最常見的多環(huán)境配置,就是開發(fā)環(huán)境配置,和生產(chǎn)環(huán)境配置(也就是上線的配置),很多情況下我們開發(fā)環(huán)境下的域名,和一些配置項(xiàng),和我們生產(chǎn)模式下的不同,這個時候就需要我們進(jìn)行多環(huán)境配置,不然每次發(fā)版都要改一波數(shù)據(jù)多麻煩。另一種情況就是你兩個項(xiàng)目是用的一套代碼,但是最后又要分別打成不同的包,那么這個時候多環(huán)境配置就大大提升了開發(fā)效率。
.env 文件配置到哪里.env文件配置在你項(xiàng)目的根目錄里面和package.json同級如下圖。
.env文件如何命名?最開始我在網(wǎng)上查的時候好多博主說名字必須命名成.env.development 開發(fā)環(huán)境下的配置文件.env.production 生產(chǎn)環(huán)境下的配置文件其實(shí)不是的,如果你配置的是開發(fā)環(huán)境和生產(chǎn)環(huán)境那么這樣命名,無可厚非,但是你如果是多項(xiàng)目公用代碼,這樣命名就有點(diǎn)驢頭不對馬嘴。所以這塊的命名格式只需要文件開頭為.env即可,后面的名字你想怎樣都可以。
.env文件的配置這塊就是你想用什么東西就配置什么東西,打個比方我想在項(xiàng)目全局拿到一個名字,那你就直接.env里面配置就ok了,下面我會詳細(xì)敘述如何取值。
npm run serve 或者npm run build 的時候,會默認(rèn)走.env的配置
圖示:
//這塊只需要 VUE_APP_*** 以這樣的形式命名就ok了,后面大寫還是小寫這塊看你心情都可以。VUE_APP_NAME = ’婁淵洋’VUE_APP_HTTPS = ’http://www.louhc.com/’VUE_APP_ABBREVIATION = ’louhc’VUE_APP_LOGO = ’louhc’
默認(rèn)的.env文件配置好后,我們接著配置有特殊需求的.env文件,比如我想讓在另一種環(huán)境下使用 其他的名字。例如 .env.bsy文件 .bsy是我隨便寫的名字這塊可以自定義。
//這塊只需要 VUE_APP_*** 以這樣的形式命名就ok了,后面大寫還是小寫這塊看你心情都可以。VUE_APP_NAME = ’白衫云’VUE_APP_HTTPS = ’http://www.louhc.com:82/’VUE_APP_ABBREVIATION = ’bsy’VUE_APP_LOGO = ’bsy’
依次類推你想配置多少個都可以.env文件配好后我們就該配置運(yùn)行環(huán)境了
如何配置運(yùn)行環(huán)境找到package.json文件,如下圖
build: 和 serve: 后面跟的名字就是你隨便起的名字一定要對應(yīng)上,這在運(yùn)行的時候才能找到相應(yīng)的配置項(xiàng)。
'scripts': { 'serve': 'vue-cli-service serve', 'build': 'vue-cli-service build', 'build:bsy': 'vue-cli-service build --mode bsy', 'build:kthz': 'vue-cli-service build --mode kthz', 'serve:bsy': 'vue-cli-service serve --mode bsy', 'serve:kthz': 'vue-cli-service serve --mode kthz', },
再次多說一點(diǎn):.env是默認(rèn)配置項(xiàng),當(dāng)運(yùn)行環(huán)境配置項(xiàng)的時候,會將默認(rèn)配置項(xiàng)和運(yùn)行的環(huán)境配置項(xiàng)融合,在參數(shù)相同的情況下,會以環(huán)境配置項(xiàng)為主,簡單來說就是,默認(rèn)配置項(xiàng)存在,環(huán)境配置項(xiàng)也存在,這個時候運(yùn)行哪個環(huán)境配置項(xiàng),就以哪個環(huán)境配置項(xiàng)的值為準(zhǔn),如果默認(rèn)配置項(xiàng)存在,環(huán)境配置項(xiàng)不存在,那么運(yùn)行環(huán)境配置項(xiàng)的時候同樣也可以拿到默認(rèn)配置項(xiàng)的值。
如何獲取全局配置項(xiàng)的值例子:如何我想在js中拿到 VUE_APP_NAME = ‘婁淵洋’,那么這直接在你想賦值的地方寫上這行代碼即可 process.env.VUE_APP_NAME
console.log(process.env.VUE_APP_NAME)// 默認(rèn)環(huán)境下打印的就是婁淵洋 bsy 環(huán)境下就是 白衫云
如果我們項(xiàng)在html中使用全局配置項(xiàng)的值,需要我們先在return 中賦值一下,然后 才可以通過 {{}},拿到你想要用的值。
如何運(yùn)行環(huán)境運(yùn)行默認(rèn)環(huán)境 npm run serve運(yùn)行指定的環(huán)境 npm run serve:bsy默認(rèn)環(huán)境打包 npm run build指定環(huán)境打包 npm run build:bsy只需切換不同的環(huán)境名即可
到此這篇關(guān)于vue項(xiàng)目多環(huán)境配置(.env)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)vue 多環(huán)境配置內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ajax請求添加自定義header參數(shù)代碼2. ASP基礎(chǔ)知識VBScript基本元素講解3. Python requests庫參數(shù)提交的注意事項(xiàng)總結(jié)4. Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動庫5. Gitlab CI-CD自動化部署SpringBoot項(xiàng)目的方法步驟6. 詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法7. 利用CSS3新特性創(chuàng)建透明邊框三角8. ASP中解決“對象關(guān)閉時,不允許操作。”的詭異問題……9. asp知識整理筆記4(問答模式)10. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達(dá)式
