原文連接:www.edik.cn/article/323html
BAE_URL='https://www.edik.cn'
VUE_APP_SECRET='secret'
複製代碼
即在src目錄下使用,變量名必須以 VUE_APP_ 開頭
在main.js中直接輸出一下命令 查看效果vue
前提:配置好對應的變量webpack
console.log(process.env.BAE_URL)
console.log(process.env.VUE_APP_SECRET)
複製代碼
這個沒有限制,能夠直接經過process.env.XXX來使用git
我暫時沒用到過使用場景,請本身摸索web
<%= VAR %> 用於非轉換插值 例如:`<link rel="shortcut icon" href="<%= BASE_URL %>favicon.ico">`
<%- VAR %> 用於HTML轉義插值
<% expression %> 用於JavaScript控制流
複製代碼
模式 | 對應npm命令 | 對應文件名稱 |
---|---|---|
development | server | .env.development |
production | build | .env.production |
test | test | .env.test |
注意:
process.env.NODE_ENV
爲默認變量,會自動設置爲上邊對應的模式名稱(test的我沒試過,請自行校驗)vue-cli
現實老是殘酷的,默認的三種模式也許並不能知足咱們的全部使用場景,使用自定義模式能夠很好地解決這個問題。
咱們開始建立一個 alpha 模式express
添加一行命令"alpha": "vue-cli-service build --mode alpha"
實際效果npm
{
"name": "",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve", //本地開發運行,會把process.env.NODE_ENV設置爲'development'
"build": "vue-cli-service build", //默認打包模式,會把process.env.NODE_ENV設置爲'production'
"alpha": "vue-cli-service build --mode alpha", //自定義打包模式,會把process.env.NODE_ENV設置爲文件內定義的名稱
"lint": "vue-cli-service lint"
},
"dependencies": {
}
}
複製代碼
在項目根路徑建立.env.alpha
文件,內容爲json
NODE_ENV = 'alpha'
複製代碼
建立下邊js文件,在頁面中引用bash
let baseUrl: string = ""; //這裏是一個默認的url,能夠沒有
switch (process.env.NODE_ENV) {
case 'development':
baseUrl = "http://localhost:8888/" //這裏是本地的請求url
break
case 'alpha': // 注意這裏的名字要和設置的模式名字對應起來
baseUrl = "http://alpha.edik.cn/" //這裏是測試環境中的url
break
case 'production':
baseUrl = "https://www.edik.cn/" //生產環境url
break
}
export default baseUrl;
複製代碼