關於vue2多環境配置
阿新 • • 發佈:2022-01-29
前端開發過程中,我們會遇到多環境除錯、外掛呼叫和多個代理、跨域問題等情況,下面我們來配置下,不同的環境下,統一的跨域問題解決,提高開發效率。
1、根目錄下新建三個環境的配置檔案,分別命名為:
.env.development
.env.test
.evn.production
注意
env
前有英文的句號
2、開發環境 .env.development
# 開發環境 NODE_ENV = 'development' # 開發環境,預設BASEURL VUE_APP_BASE_URL = '/api' # 開發環境,API字首 VUE_APP_BASE_API = '/api' #開發環境,Url地址 VUE_APP_BASE_TARGET = 'http://10.10.2.241:9000/'
3、測試環境 .env.test
# 測試環境
NODE_ENV = 'test'
# 測試環境,預設BASEURL
VUE_APP_BASE_URL = '/api/test'
# 測試環境,API字首
VUE_APP_BASE_API = '/test'
# 測試環境,Url地址
VUE_APP_BASE_TARGET = 'https://xxxxx.xxxxxx.com/'
4、生產環境 .env.production
# 正式環境 NODE_ENV = 'production' # 生產環境,預設BASEURL VUE_APP_BASE_URL = '/api/production' # 生產環境,API字首 VUE_APP_BASE_API = '/production' #生產環境,Url地址 VUE_APP_BASE_TARGET = 'https://xxxx.xxxxx.com/'
5、需要在package.json
專案元資訊檔案中對指令碼命令配置mode。
"scripts": {
"serve": "vue-cli-service serve",
"serve:test": "vue-cli-service serve --mode test",
"build": "vue-cli-service build --mode production",
"lint": "vue-cli-service lint"
}
6、然後在vue.config.js
代理中使用
proxy: { //配置多個跨域 [process.env.VUE_APP_BASE_API]: { target: process.env.VUE_APP_BASE_TARGET, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: '' } } }
7、在axios
配置中使用
const instance = axios.create({
// '/api/tcc-mobileLib'
baseURL: process.env.VUE_APP_BASE_URL,
timeout: 30000,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
withCredentials: true //允許攜帶cookie
})
後續補充