vue如何根據不同的環境使用不同的接口地址

vue根據不同的環境使用不同的接口地址

package.json文件,添加。

    "dev:test": "vue-cli-service serve --mode test",
    "build:test": "vue-cli-service build --mode test",
    "build:prod": "vue-cli-service build --mode prod",

代表npm命令行新增瞭幾條命令,這裡的test和prod是自己命名的你也可以寫別的。

隻要下面獲取的時候根據這些名字匹配使用本地測試還是線上環境就行。

  • mpm run dev:test 運行本地環境
  • mpm run build:test 用測試接口打包
  • mpm run build:prod 用線上接口打包

然後我們可以根據process.env.NODE_ENV這個變量獲取到輸入的命令行的:後面的內容

我們新建一個config.js的文件存儲接口地址和appid等全局需要使用的一些變量。

let HOST = process.env.NODE_ENV|| 'prod';
let baseURL = "";
let appid = "";
if(HOST === 'prod'){  //正式服
  baseURL = "https://api.heebu.cn";
  appid = 'wx90ad292c1eb1105c';
}else if(HOST === 'test'){ // 測試
  baseURL = "https://testapi.heebu.cn";
  appid = 'wx9b070f1675720f2b';
}else{ // 本地
  baseURL = HOST;
  appid = 'wx9b070f1675720f2b';
}

export {
  baseURL,

  appid

}

其他頁面可以引用這個config.js

import { baseURL,appid} from 'config.js'

然後就可以使用這個baseURL啦。

vue不同環境,請求不同環境的接口

開發過程中,根據項目要求,後臺部署瞭三個環境的接口,分別是:開發環境(開發時請求)、測試環境(部署測試環境請求)、生產環境(部署到線上環境請求),我們分別把他們稱之為:開發環境(development)、測試環境(test)、生產環境(production)。

.env文件

註意:請仔細閱讀下方文字!!!

.env # 在所有的環境中被載入
.env.local # 在所有的環境中被載入,但會被 git 忽略
.env.[mode] # 隻在指定的模式中被載入
.env.[mode].local # 隻在指定的模式中被載入,但會被 git 忽略

創建.env文件

在項目根目錄創建以下文件

這三個文件分別代表:開發、測試、生產,運行的.env文件

.env.development內容:

VUE_APP_BASE_URL = 'http://development'

.env.test內容:

VUE_APP_BASE_URL = 'http://test'

.env.production內容:

VUE_APP_BASE_URL = 'http://production'

修改啟動命令,加載不同的.env文件 

打開package.json文件

在scripts下進行修改

綠框位置代表:當前命令加載的.env文件

//例:
 npm run serve //執行此命令 則運行 .env.development文件
 npm run test//執行此命令 則運行 .env.test文件
 npm run production//執行此命令 則運行 .env.production文件

獲取環境變量

可以js文件中通過

console.log(process.env.VUE_APP_BASE_URL)
//開發環境打印
http://development
//測試環境打印
http://test
//生產環境打印
http://production

總結

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: