cccicl
cccicl
发布于 3个月前

vue (cli3)生产环境接口JS配置

新建一个config.js

//项目域名地址
let URL = "http://***.***.***.***:****";

let ROOT;
//由于封装的axios请求中,会将ROOT打包进去,为了方便之后不再更改,判断了当前环境,而生成的不同的ROOT
if (process.env.NODE_ENV === "development") {
  //开发环境下的代理地址,解决本地跨域跨域,配置在vue.config.js里
  ROOT = "/apis";
} else {
  //生产环境下的地址
  ROOT = URL;
}
// export default { ROOT, URL };
exports.URL = URL; //代理指向地址
exports.ROOT = ROOT;

vue.config.js里的配置

// 引进config.js
const BaseUrl = require("./src/config.js");
// 代理接口配置
devServer: {
    port: 8080, // 端口号
    host: "0.0.0.0",
    https: false, // https:{type:Boolean}
    open: false, //配置自动启动浏览器
    proxy: {
      [BaseUrl.ROOT]: {
        target: BaseUrl.URL, // 通过本地服务器将你的请求转发到这个地址
        changeOrigin: true, // 设置这个参数可以避免跨域
        pathRewrite: {
          [`^${BaseUrl.ROOT}`]: "/"
        }
      }
    }
  },

封装的axios配置

//http.js
//引进来
import BaseUrl from "../config";
// 应用
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的路径,按自己项目配置的路径来。

Vue
©2020 edoou.com   京ICP备16001874号-3