- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > JavaScript >
- vue項目多環(huán)境配置(.env)的實(shí)現
沒(méi)接觸多環(huán)境配置前,感覺(jué)好高大上,真正操作后感覺(jué)也就那么回事,在此把自己遇到的問(wèn)題和解決方案敘述一下,有不對的地方歡迎各位大佬指出。
最常見(jiàn)的多環(huán)境配置,就是開(kāi)發(fā)環(huán)境配置,和生產(chǎn)環(huán)境配置(也就是上線(xiàn)的配置),很多情況下我們開(kāi)發(fā)環(huán)境下的域名,和一些配置項,和我們生產(chǎn)模式下的不同,這個(gè)時(shí)候就需要我們進(jìn)行多環(huán)境配置,不然每次發(fā)版都要改一波數據多麻煩。另一種情況就是你兩個(gè)項目是用的一套代碼,但是最后又要分別打成不同的包,那么這個(gè)時(shí)候多環(huán)境配置就大大提升了開(kāi)發(fā)效率。
.env文件配置在你項目的根目錄里面和package.json同級如下圖。
.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ú)可厚非,但是你如果是多項目公用代碼,這樣命名就有點(diǎn)驢頭不對馬嘴。所以這塊的命名格式只需要文件開(kāi)頭為.env即可,后面的名字你想怎樣都可以。
這塊就是你想用什么東西就配置什么東西,打個(gè)比方我想在項目全局拿到一個(gè)名字,那你就直接.env里面配置就ok了,下面我會(huì )詳細敘述如何取值。
npm run serve 或者npm run build 的時(shí)候,會(huì )默認走.env的配置
圖示:
//這塊只需要 VUE_APP_*** 以這樣的形式命名就ok了,后面大寫(xiě)還是小寫(xiě)這塊看你心情都可以。 VUE_APP_NAME = '婁淵洋' VUE_APP_HTTPS = 'http://www.louhc.com/' VUE_APP_ABBREVIATION = 'louhc' VUE_APP_LOGO = 'louhc'
默認的.env文件配置好后,我們接著(zhù)配置有特殊需求的.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文件配好后我們就該配置運行環(huán)境了
找到package.json文件,如下圖
build: 和 serve: 后面跟的名字就是你隨便起的名字一定要對應上,這在運行的時(shí)候才能找到相應的配置項。
"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是默認配置項,當運行環(huán)境配置項的時(shí)候,會(huì )將默認配置項和運行的環(huán)境配置項融合,在參數相同的情況下,會(huì )以環(huán)境配置項為主,簡(jiǎn)單來(lái)說(shuō)就是,默認配置項存在,環(huán)境配置項也存在,這個(gè)時(shí)候運行哪個(gè)環(huán)境配置項,就以哪個(gè)環(huán)境配置項的值為準,如果默認配置項存在,環(huán)境配置項不存在,那么運行環(huán)境配置項的時(shí)候同樣也可以拿到默認配置項的值。
例子:如何我想在js中拿到 VUE_APP_NAME = ‘婁淵洋',那么這直接在你想賦值的地方寫(xiě)上這行代碼即可 process.env.VUE_APP_NAME
console.log(process.env.VUE_APP_NAME)// 默認環(huán)境下打印的就是婁淵洋 bsy 環(huán)境下就是 白衫云
如果我們項在html中使用全局配置項的值,需要我們先在return 中賦值一下,然后 才可以通過(guò) {{}},拿到你想要用的值。
運行默認環(huán)境 npm run serve
運行指定的環(huán)境 npm run serve:bsy
默認環(huán)境打包 npm run build
指定環(huán)境打包 npm run build:bsy
只需切換不同的環(huán)境名即可
到此這篇關(guān)于vue項目多環(huán)境配置(.env)的實(shí)現的文章就介紹到這了,更多相關(guān)vue 多環(huán)境配置內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站