vue2 全局環(huán)境變量配置

一、全局文件命名特點

.env                在所有的環(huán)境中被載入
.env.local          在所有的環(huán)境中被載入,但會被 git 忽略
.env.[mode]         只在指定的模式中被載入
.env.[mode].local   只在指定的模式中被載入,但會被 git 忽略

二、環(huán)境變量定義規(guī)范

1. 其中以.local結(jié)尾的文件會被忽略,
2. [mode]可以是:development(開發(fā))、production(生產(chǎn))、test(測試),他們分別代表不同的環(huán)境模式
3. NODE_ENV,BASE_URL 是默認的環(huán)境變量可訪問無法被修改,NODE_ENV代表當前的環(huán)境模式,BASE_URL代表的是當前根路徑
4. 自定義環(huán)境變量規(guī)則:必須以 VUE_APP_ 開頭 否則無效
5. 訪問方式:在開發(fā)中通過  process.env.變量名稱  的方式獲取變量值
6. 修改完需要重啟服務(wù)才生效
7. 不可用來存儲非公開信息,因為webpack編譯后會被暴露

三、定義環(huán)境變量文件

1. 開發(fā)環(huán)境 .env.development

# 開發(fā)環(huán)境,運行 調(diào)用的環(huán)境變量
# 當前文件配置的環(huán)境變量,會在運行 npm run dev 時調(diào)用
# 除非你明確知道此文件修改的含義,否則請勿修改

# baseURL
VUE_APP_BASEURL = 'http://localhost:9000/development'

2. 生產(chǎn)環(huán)境 .env.production

# 生產(chǎn)環(huán)境,打包調(diào)用的環(huán)境變量
# 當前文件配置的環(huán)境變量,會在運行 npm run build 時調(diào)用
# 除非你明確知道此文件修改的含義,否則請勿修改

# baseURL
VUE_APP_BASEURL = 'http://localhost:9000/production'

3. 測試環(huán)境 .env.test

# 測試環(huán)境調(diào)用的環(huán)境變量
# 當前文件配置的環(huán)境變量,會在運行 npm run test 時調(diào)用
# 除非你明確知道此文件修改的含義,否則請勿修改

# baseURL
VUE_APP_BASEURL = 'http://localhost:9000/test'

4. 所有環(huán)境環(huán)境 .env

# 所有調(diào)用的環(huán)境變量
# 除非你明確知道此文件修改的含義,否則請勿修改

# AAA
VUE_APP_AAA = 'AAA'

5. 所有環(huán)境環(huán)境 (被 git 忽略).env.local

# 所有調(diào)用的環(huán)境變量,不會提交 git
# 除非你明確知道此文件修改的含義,否則請勿修改

# BBB
VUE_APP_BBB = 'BBB'

四、在組件中使用

<template>
  <div class="home">
    <h1>八、vue 環(huán)境變量</h1>
    <div>NODE_ENV:{{ NODE_ENV }}</div>
    <div>VUE_APP_AAA:{{ VUE_APP_AAA }}</div>
    <div>VUE_APP_BASEURL:{{ VUE_APP_BASEURL }}</div>
    <div>VUE_APP_BBB:{{ VUE_APP_BBB }}</div>
    <div>BASE_URL:{{ BASE_URL }}</div>
  </div>
</template>

<script>
const { NODE_ENV, VUE_APP_AAA, VUE_APP_BASEURL, VUE_APP_BBB, BASE_URL } = process.env;
export default {
  name: "ChildView",
  data() {
    return {
      NODE_ENV,
      VUE_APP_AAA,
      VUE_APP_BASEURL,
      VUE_APP_BBB,
      BASE_URL,
    };
  },
  mounted() {
    console.log(process.env);

    // 結(jié)果:
    // {
    //   NODE_ENV: "development",
    //   VUE_APP_AAA: "AAA",
    //   VUE_APP_BASEURL: "http://localhost:9000/development",
    //   VUE_APP_BBB: "BBB",
    //   BASE_URL: "/",
    // }
  },
};
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容