vue (cli3)生產(chǎn)環(huán)境接口JS配置

新建一個(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)。

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

相關(guān)閱讀更多精彩內(nèi)容

  • ## 框架和庫(kù)的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計(jì)架構(gòu)和**解決方案**。> > 庫(kù)(lib...
    Rui_bdad閱讀 3,155評(píng)論 1 4
  • 33、JS中的本地存儲(chǔ) 把一些信息存儲(chǔ)在當(dāng)前瀏覽器指定域下的某一個(gè)地方(存儲(chǔ)到物理硬盤中)1、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,246評(píng)論 0 2
  • 我們所要的說的axios的封裝和api接口的統(tǒng)一管理,其實(shí)主要目的就是在幫助我們簡(jiǎn)化代碼和利于后期的更新維護(hù)。 一...
    kangaroo_v閱讀 8,527評(píng)論 1 67
  • vue.js 誰(shuí)在影響著頁(yè)面?model中的data Vue.js 官網(wǎng) api學(xué)習(xí)步驟引文件寫結(jié)構(gòu)初始化js 簡(jiǎn)...
    Ht_何甜閱讀 591評(píng)論 0 0
  • github傳送門webpack之一webpack基礎(chǔ)配置webpack之二webpack部署優(yōu)化webpack之...
    胖太_91bf閱讀 2,820評(píng)論 0 4

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