vue項目多環(huán)境配置(.env)的實現(xiàn)
沒接觸多環(huán)境配置前,感覺好高大上,真正操作后感覺也就那么回事,在此把自己遇到的問題和解決方案敘述一下,有不對的地方歡迎各位大佬指出。
什么是多環(huán)境配置,為什么要多環(huán)境配置?
最常見的多環(huán)境配置,就是開發(fā)環(huán)境配置,和生產(chǎn)環(huán)境配置(也就是上線的配置),很多情況下我們開發(fā)環(huán)境下的域名,和一些配置項,和我們生產(chǎn)模式下的不同,這個時候就需要我們進(jìn)行多環(huán)境配置,不然每次發(fā)版都要改一波數(shù)據(jù)多麻煩。另一種情況就是你兩個項目是用的一套代碼,但是最后又要分別打成不同的包,那么這個時候多環(huán)境配置就大大提升了開發(fā)效率。
.env 文件配置到哪里
.env文件配置在你項目的根目錄里面和package.json同級如下圖。
.env文件如何配置,配置多少個?
.env文件如何命名?
最開始我在網(wǎng)上查的時候好多博主說名字必須命名成
.env.development 開發(fā)環(huán)境下的配置文件
.env.production 生產(chǎn)環(huán)境下的配置文件
其實不是的,如果你配置的是開發(fā)環(huán)境和生產(chǎn)環(huán)境那么這樣命名,無可厚非,但是你如果是多項目公用代碼,這樣命名就有點驢頭不對馬嘴。所以這塊的命名格式只需要文件開頭為.env即可,后面的名字你想怎樣都可以。
.env文件的配置
這塊就是你想用什么東西就配置什么東西,打個比方我想在項目全局拿到一個名字,那你就直接.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文件配好后我們就該配置運行環(huán)境了
如何配置運行環(huán)境
找到package.json文件,如下圖
build: 和 serve: 后面跟的名字就是你隨便起的名字一定要對應(yīng)上,這在運行的時候才能找到相應(yī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", },
再次多說一點:.env是默認(rèn)配置項,當(dāng)運行環(huán)境配置項的時候,會將默認(rèn)配置項和運行的環(huán)境配置項融合,在參數(shù)相同的情況下,會以環(huán)境配置項為主,簡單來說就是,默認(rèn)配置項存在,環(huán)境配置項也存在,這個時候運行哪個環(huán)境配置項,就以哪個環(huán)境配置項的值為準(zhǔn),如果默認(rèn)配置項存在,環(huán)境配置項不存在,那么運行環(huán)境配置項的時候同樣也可以拿到默認(rèn)配置項的值。
如何獲取全局配置項的值
例子:如何我想在js中拿到 VUE_APP_NAME = ‘婁淵洋',那么這直接在你想賦值的地方寫上這行代碼即可 process.env.VUE_APP_NAME
console.log(process.env.VUE_APP_NAME)// 默認(rèn)環(huán)境下打印的就是婁淵洋 bsy 環(huán)境下就是 白衫云
如果我們項在html中使用全局配置項的值,需要我們先在return 中賦值一下,然后 才可以通過 {{}},拿到你想要用的值。
如何運行環(huán)境
運行默認(rèn)環(huán)境 npm run serve
運行指定的環(huán)境 npm run serve:bsy
默認(rèn)環(huán)境打包 npm run build
指定環(huán)境打包 npm run build:bsy
只需切換不同的環(huán)境名即可
到此這篇關(guān)于vue項目多環(huán)境配置(.env)的實現(xiàn)的文章就介紹到這了,更多相關(guān)vue 多環(huán)境配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
手寫Vue內(nèi)置組件component的實現(xiàn)示例
本文主要介紹了手寫Vue內(nèi)置組件component的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Vue2.0利用 v-model 實現(xiàn)組件props雙向綁定的優(yōu)美解決方案
本篇文章主要介紹了Vue2 利用 v-model 實現(xiàn)組件props雙向綁定的優(yōu)美解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03Vue + Node.js + MongoDB圖片上傳組件實現(xiàn)圖片預(yù)覽和刪除功能詳解
這篇文章主要介紹了Vue + Node.js + MongoDB圖片上傳組件實現(xiàn)圖片預(yù)覽和刪除功能,結(jié)合實例形式詳細(xì)分析了Vue + Node.js + MongoDB基于圖片上傳組件實現(xiàn)圖片預(yù)覽和刪除功能相關(guān)操作技巧,需要的朋友可以參考下2020-04-04