vue項目在不同環(huán)境下請求不同接口地址

NODE_ENV獲取環(huán)境變量

在vue搭建項目時,我們通常會使用 vue-cli 搭建腳手架,在開發(fā)過程中,我們需要根據(jù)開發(fā)環(huán)境和正式環(huán)境不同, 去請求不同域名下的后臺接口, 這時候, 我們需要根據(jù)環(huán)境不同來自動切換請求的域名。
在此我使用的是webpack 打包的打包工具,通過獲取NODE_ENV環(huán)境變量來進行操作,配置如下:

1.修改開發(fā)環(huán)境的配置 config/dev.env.js

module.exports = {
  NODE_ENV: '"development"',
  ENV_CONFIG: '"dev"',
  BASE_API: '"https://api-dev"'
}

2.修改正式環(huán)境的配置 config/prod.env.js

module.exports = {
  NODE_ENV: '"production"',
  ENV_CONFIG: '"prod"',
  BASE_API: '"https://api-prod"'
}

3.修改package.json 文件的script

"scripts": {
  "dev": "cross-env BABEL_ENV=development webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
  "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js"
}

4.接口調(diào)用時使用 process.env.BASE_API

// create an axios instance
const service = axios.create({
  baseURL: process.env.BASE_API, // api 的 base_url
  timeout: 5000 // request timeout
})

執(zhí)行不同的命令將使用不同的運行環(huán)境:


開發(fā)環(huán)境.png

生產(chǎn)環(huán)境.png
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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