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)模式下的不同,這個(gè)時(shí)候就需要我們進(jìn)行多環(huán)境配置,不然每次發(fā)版都要改一波數(shù)據(jù)多麻煩。另一種情況就是你兩個(gè)項(xiàng)目是用的一套代碼,但是最后又要分別打成不同的包,那么這個(gè)時(shí)候多環(huán)境配置就大大提升了開發(fā)效率。
.env 文件配置到哪里.env文件配置在你項(xiàng)目的根目錄里面和package.json同級(jí)如下圖。
.env文件如何命名?最開始我在網(wǎng)上查的時(shí)候好多博主說名字必須命名成.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文件的配置這塊就是你想用什么東西就配置什么東西,打個(gè)比方我想在項(xiàng)目全局拿到一個(gè)名字,那你就直接.env里面配置就ok了,下面我會(huì)詳細(xì)敘述如何取值。
npm run serve 或者npm run build 的時(shí)候,會(huì)默認(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’
依次類推你想配置多少個(gè)都可以.env文件配好后我們就該配置運(yùn)行環(huán)境了
如何配置運(yùn)行環(huán)境找到package.json文件,如下圖
build: 和 serve: 后面跟的名字就是你隨便起的名字一定要對應(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', },
再次多說一點(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)為主,簡單來說就是,默認(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 = ‘婁淵洋’,那么這直接在你想賦值的地方寫上這行代碼即可 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. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法2. HTTP協(xié)議常用的請求頭和響應(yīng)頭響應(yīng)詳解說明(學(xué)習(xí))3. idea設(shè)置提示不區(qū)分大小寫的方法4. CentOS郵件服務(wù)器搭建系列—— POP / IMAP 服務(wù)器的構(gòu)建( Dovecot )5. IntelliJ IDEA創(chuàng)建web項(xiàng)目的方法6. VMware中如何安裝Ubuntu7. docker容器調(diào)用yum報(bào)錯(cuò)的解決辦法8. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)9. 原生JS實(shí)現(xiàn)記憶翻牌游戲10. ASP.NET MVC通過勾選checkbox更改select的內(nèi)容
