一、.env配置用於區分生產環境和開發環境


一個vue-cli項目有三個模式:

development(開發環境)模式,用於vue-cli-service  serve。

production(生產環境)模式,用於vue-cli-service  build  和  vue-cli-service test:e2e。

test(測試環境)模式,用於vue-cli-service test:unit。

在根項目》package.json下修改
{
  ...
  "scripts":{
      ...
      "test":"vue-cli-service test:unit"
  }
  ...
}

一個模式可以包含多個環境變量。

也就是說,每個模式都會將NODE_ENV的值設置為模式的名稱。比如在development模式下NODE_ENV的值會被設置為“development”。在production模式下NODE_ENV的值會被設置為“production”。

我們可以通過為.env文件增加后綴,來設置某個模式下特有的環境變量。

比如,在項目根目錄下創建一個名為.env.development文件,那么在這個文件里面聲明過的變量,就只會在development模式下被載入。

比如,在項目根目錄下創建一個名為.env.production文件,那么在這個文件里面聲明過的變量,就只會在production模式下被載入。

如果這個環境變量想同時在所有模式下被載入,可以聲明在.env文件里。

注意一下環境變量聲明的命名規范,只有以VUE_APP_開頭的變量,會被webpack.DefinePlugin靜態嵌入到客戶端的包中。

(如果配置時項目正在運行,配置完成后需要結束項目,再次運行項目,才能生效。)

在根目錄下》.env中添加代碼

VUE_APP_DOMAIN=http://www.baidu.com
VUE_APP_TITLE=百度搜索
在根目錄下》.env.development中添加代碼
VUE_APP_DOMAIN=http://dev.baidu.com
在根目錄下》.env.production中添加代碼
VUE_APP_DOMAIN=http://production.baidu.com
在根目錄》src》App.vue中修改代碼:

<script>
...
export default{
    ...
    created(){
        console.log(process.env.VUE_APP_DOMAIN)
        console.log(process.env.VUE_APP_TITLE)
} } </script>

輸入以下命令,在控制台輸出http://dev.baidu.com

npm  run  serve

輸入以下命令,在控制台輸出http://production.baidu.com

npm run build
serve -s dist

 

實際應用在接口地址。不同環境下使用不同的接口地址,顯示不同的數據。

只需要在這三個文件里面統一變量名,然后在不同文件里面改變變量的值就可以了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM