vue項(xiàng)目多環(huán)境配置(.env)的實(shí)現(xiàn)
沒(méi)接觸多環(huán)境配置前,感覺(jué)好高大上,真正操作后感覺(jué)也就那么回事,在此把自己遇到的問(wèn)題和解決方案敘述一下,有不對(duì)的地方歡迎各位大佬指出。
什么是多環(huán)境配置,為什么要多環(huán)境配置?
最常見(jiàn)的多環(huán)境配置,就是開(kāi)發(fā)環(huán)境配置,和生產(chǎn)環(huán)境配置(也就是上線的配置),很多情況下我們開(kāi)發(fā)環(huán)境下的域名,和一些配置項(xiàng),和我們生產(chǎn)模式下的不同,這個(gè)時(shí)候就需要我們進(jìn)行多環(huán)境配置,不然每次發(fā)版都要改一波數(shù)據(jù)多麻煩。另一種情況就是你兩個(gè)項(xiàng)目是用的一套代碼,但是最后又要分別打成不同的包,那么這個(gè)時(shí)候多環(huán)境配置就大大提升了開(kāi)發(fā)效率。
.env 文件配置到哪里
.env文件配置在你項(xiàng)目的根目錄里面和package.json同級(jí)如下圖。

.env文件如何配置,配置多少個(gè)?
.env文件如何命名?
最開(kāi)始我在網(wǎng)上查的時(shí)候好多博主說(shuō)名字必須命名成
.env.development 開(kāi)發(fā)環(huán)境下的配置文件
.env.production 生產(chǎn)環(huán)境下的配置文件
其實(shí)不是的,如果你配置的是開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境那么這樣命名,無(wú)可厚非,但是你如果是多項(xiàng)目公用代碼,這樣命名就有點(diǎn)驢頭不對(duì)馬嘴。所以這塊的命名格式只需要文件開(kāi)頭為.env即可,后面的名字你想怎樣都可以。
.env文件的配置
這塊就是你想用什么東西就配置什么東西,打個(gè)比方我想在項(xiàng)目全局拿到一個(gè)名字,那你就直接.env里面配置就ok了,下面我會(huì)詳細(xì)敘述如何取值。
npm run serve 或者npm run build 的時(shí)候,會(huì)默認(rèn)走.env的配置
圖示:

//這塊只需要 VUE_APP_*** 以這樣的形式命名就ok了,后面大寫(xiě)還是小寫(xiě)這塊看你心情都可以。 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是我隨便寫(xiě)的名字這塊可以自定義。
//這塊只需要 VUE_APP_*** 以這樣的形式命名就ok了,后面大寫(xiě)還是小寫(xiě)這塊看你心情都可以。 VUE_APP_NAME = '白衫云' VUE_APP_HTTPS = 'http://www.louhc.com:82/' VUE_APP_ABBREVIATION = 'bsy' VUE_APP_LOGO = 'bsy'
依次類(lèi)推你想配置多少個(gè)都可以
.env文件配好后我們就該配置運(yùn)行環(huán)境了
如何配置運(yùn)行環(huán)境
找到package.json文件,如下圖

build: 和 serve: 后面跟的名字就是你隨便起的名字一定要對(duì)應(yīng)上,這在運(yùn)行的時(shí)候才能找到相應(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",
},
再次多說(shuō)一點(diǎn):.env是默認(rèn)配置項(xiàng),當(dāng)運(yùn)行環(huán)境配置項(xiàng)的時(shí)候,會(huì)將默認(rèn)配置項(xiàng)和運(yùn)行的環(huán)境配置項(xiàng)融合,在參數(shù)相同的情況下,會(huì)以環(huán)境配置項(xiàng)為主,簡(jiǎn)單來(lái)說(shuō)就是,默認(rèn)配置項(xiàng)存在,環(huán)境配置項(xiàng)也存在,這個(gè)時(shí)候運(yùn)行哪個(gè)環(huán)境配置項(xiàng),就以哪個(gè)環(huán)境配置項(xiàng)的值為準(zhǔn),如果默認(rèn)配置項(xiàng)存在,環(huán)境配置項(xiàng)不存在,那么運(yùn)行環(huán)境配置項(xiàng)的時(shí)候同樣也可以拿到默認(rèn)配置項(xiàng)的值。
如何獲取全局配置項(xiàng)的值
例子:如何我想在js中拿到 VUE_APP_NAME = ‘婁淵洋',那么這直接在你想賦值的地方寫(xiě)上這行代碼即可 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 中賦值一下,然后 才可以通過(guò) {{}},拿到你想要用的值。
如何運(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 一文搞明白vue開(kāi)發(fā)者vite多環(huán)境配置
- vue項(xiàng)目多租戶環(huán)境變量的設(shè)置
- vue-cli4.0多環(huán)境配置變量與模式詳解
- Vue多環(huán)境代理配置方法思路詳解
- vue.js多頁(yè)面開(kāi)發(fā)環(huán)境搭建過(guò)程
- vue-cli項(xiàng)目配置多環(huán)境的詳細(xì)操作過(guò)程
- 基于vue cli 通過(guò)命令行傳參實(shí)現(xiàn)多環(huán)境配置
- 通過(guò)vue-cli來(lái)學(xué)習(xí)修改Webpack多環(huán)境配置和發(fā)布問(wèn)題
- Vue+Vite+Axios項(xiàng)目多環(huán)境以及部署前后端跨域
相關(guān)文章
vite2.x實(shí)現(xiàn)按需加載ant-design-vue@next組件的方法
這篇文章主要介紹了vite2.x實(shí)現(xiàn)按需加載ant-design-vue@next組件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
關(guān)于vue?src路徑動(dòng)態(tài)拼接的小知識(shí)
這篇文章主要介紹了vue?src路徑動(dòng)態(tài)拼接的小知識(shí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2022-04-04
Vue學(xué)習(xí)之路之登錄注冊(cè)實(shí)例代碼
本篇文章主要介紹了Vue學(xué)習(xí)之路之登錄注冊(cè)實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
vue生命周期beforeDestroy和destroyed調(diào)用方式
這篇文章主要介紹了vue生命周期beforeDestroy和destroyed調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
vue.js中toast用法及使用toast彈框的實(shí)例代碼
這篇文章主要介紹了vue.js中toast用法及使用toast彈框的實(shí)例代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒加載,需要的朋友可以參考下2018-08-08
vue實(shí)現(xiàn)tagsview多頁(yè)簽導(dǎo)航功能的示例代碼
這篇文章主要介紹了vue實(shí)現(xiàn)tagsview多頁(yè)簽導(dǎo)航功能,本文梳理了一下vue-element-admin項(xiàng)目實(shí)現(xiàn)多頁(yè)簽功能的整體步驟,需要的朋友可以參考下2022-08-08
vue關(guān)于eslint空格縮進(jìn)等的報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了vue關(guān)于eslint空格縮進(jìn)等的報(bào)錯(cuò)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05

