Vue - .env詳解

1 .env 用途

項目實際開發(fā)過程中蓄氧,可能會有區(qū)分環(huán)境的需求,比如開發(fā)環(huán)境阴绢、測試環(huán)境店乐、生產(chǎn)環(huán)境等;不同的環(huán)境對應(yīng)不同的配置呻袭,比如開發(fā)環(huán)境眨八、生產(chǎn)環(huán)境的后端接口 BaseURL 一般都不同;此時可以使用 .env 文件來實現(xiàn)環(huán)境差異化配置左电。

2 .env 讀取規(guī)則

在介紹 .env 文件的讀取規(guī)則前廉侧,需先了解一下 vue-cli 的模式页响。

默認情況下,一個 Vue CLI 項目有三個模式:

  • development 模式用于 vue-cli-service serve
  • test 模式用于 vue-cli-service test:unit
  • production 模式用于 vue-cli-service buildvue-cli-service test:e2e

你可以通過傳遞 --mode 選項參數(shù)為命令行覆寫默認的模式段誊。

vue-cli 會根據(jù)模式參數(shù)自動從環(huán)境文件中載入環(huán)境變量闰蚕。項目中一般會在package.json的scripts中配置命令腳本,映射vue-cli的命令连舍。

// package.json
"scripts": {
    "serve": "vue-cli-service serve",
    "serve:diy": "vue-cli-service serve --mode diy",
    "serve:custom": "vue-cli-service serve --mode dev.custom",
    "build": "vue-cli-service build",
    "build:develop": "vue-cli-service build --mode development",
    "build:custom": "vue-cli-service build --mode pro.custom",
    "lint": "vue-cli-service lint"
  }
  • serve命令后沒有指定模式時陪腌,默認讀取.env(如有)和.env. development(如有)。
  • serve:diy命令會讀取.env(如有)和.env. diy(如有)烟瞧。
  • serve:custom命令會讀取.env(如有)和.env. dev.custom(如有)诗鸭。
  • build命令后沒有指定模式時,默認讀取.env(如有)和.env. production(如有)参滴。
  • build:develop命令會讀取.env(如有)和.env. development(如有)强岸。
  • build: custom命令會讀取.env(如有)和.env. pro.custom(如有)。

3 .env 加載優(yōu)先級

為一個特定模式準(zhǔn)備的環(huán)境文件 (例如 .env.production) 將會比全局環(huán)境文件 (即 .env) 擁有更高的優(yōu)先級砾赔。
因此當(dāng) .env.production 中有與 .env 重復(fù)的鍵值時蝌箍,.env.production 中的生效。

4 .env 書寫規(guī)則

  • 一個環(huán)境文件只包含環(huán)境變量的“鍵=值”對暴心。
  • 只有 NODE_ENV妓盲,BASE_URL 和以 VUE_APP_ 開頭的變量將通過 webpack.DefinePlugin 靜態(tài)地嵌入到客戶端側(cè)的代碼中。即自定義屬性只能以VUE_APP_開頭专普。

5 訪問環(huán)境變量

通過nodejs的process.env來訪問所有環(huán)境變量悯衬。

Vue.prototype.$env = process.env
console.log(this.$env.VUE_APP_BASEURL)

參考資料

Vue CLI

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市檀夹,隨后出現(xiàn)的幾起案子筋粗,更是在濱河造成了極大的恐慌,老刑警劉巖炸渡,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娜亿,死亡現(xiàn)場離奇詭異,居然都是意外死亡蚌堵,警方通過查閱死者的電腦和手機买决,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吼畏,“玉大人督赤,你說我怎么就攤上這事」蹋” “怎么了够挂?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長藕夫。 經(jīng)常有香客問我孽糖,道長枯冈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任办悟,我火速辦了婚禮尘奏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘病蛉。我一直安慰自己炫加,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布铺然。 她就那樣靜靜地躺著俗孝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪魄健。 梳的紋絲不亂的頭發(fā)上赋铝,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音沽瘦,去河邊找鬼革骨。 笑死,一個胖子當(dāng)著我的面吹牛析恋,可吹牛的內(nèi)容都是我干的良哲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼助隧,長吁一口氣:“原來是場噩夢啊……” “哼筑凫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起喇颁,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤漏健,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后橘霎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡殖属,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年姐叁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洗显。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡外潜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出挠唆,到底是詐尸還是另有隱情处窥,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布玄组,位于F島的核電站滔驾,受9級特大地震影響谒麦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哆致,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一绕德、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧摊阀,春花似錦耻蛇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至漱牵,卻和暖如春亡哄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背布疙。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工蚊惯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人灵临。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓截型,卻偏偏與公主長得像,于是被迫代替她去往敵國和親儒溉。 傳聞我的和親對象是個殘疾皇子宦焦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容