新建一個(gè)config.js
//項(xiàng)目域名地址
let URL = "http://***.***.***.***:****";
let ROOT;
//由于封裝的axios請(qǐng)求中,會(huì)將ROOT打包進(jìn)去,為了方便之后不再更改,判斷了當(dāng)前環(huán)境,而生成的不同的ROOT
if (process.env.NODE_ENV === "development") {
//開發(fā)環(huán)境下的代理地址,解決本地跨域跨域,配置在vue.config.js里
ROOT = "/apis";
} else {
//生產(chǎn)環(huán)境下的地址
ROOT = URL;
}
// export default { ROOT, URL };
exports.URL = URL; //代理指向地址
exports.ROOT = ROOT;
vue.config.js里的配置
// 引進(jìn)config.js
const BaseUrl = require("./src/config.js");
// 代理接口配置
devServer: {
port: 8080, // 端口號(hào)
host: "0.0.0.0",
https: false, // https:{type:Boolean}
open: false, //配置自動(dòng)啟動(dòng)瀏覽器
proxy: {
[BaseUrl.ROOT]: {
target: BaseUrl.URL, // 通過本地服務(wù)器將你的請(qǐng)求轉(zhuǎn)發(fā)到這個(gè)地址
changeOrigin: true, // 設(shè)置這個(gè)參數(shù)可以避免跨域
pathRewrite: {
[`^${BaseUrl.ROOT}`]: "/"
}
}
}
},
封裝的axios配置
//http.js
//引進(jìn)來(lái)
import BaseUrl from "../config";
// 應(yīng)用
export default {
post(url, data) {
return axios({
method: "post",
baseURL: BaseUrl.ROOT + "/******/",
url,
data: qs.stringify(data),
timeout: 2000,
headers: {
Accept: "application/json; charset=utf-8",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
}
}).then(response => {
return checkStatus(response);
});
}
};
注意config.js的路徑,按自己項(xiàng)目配置的路徑來(lái)。