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的路径,按自己项目配置的路径来。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ## 框架和库的区别?> 框架(framework):一套完整的软件设计架构和**解决方案**。> > 库(lib...
    Rui_bdad阅读 3,036评论 1 4
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,156评论 0 2
  • 我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。 一...
    kangaroo_v阅读 8,475评论 1 67
  • vue.js 谁在影响着页面?model中的data Vue.js 官网 api学习步骤引文件写结构初始化js 简...
    Ht_何甜阅读 575评论 0 0
  • github传送门webpack之一webpack基础配置webpack之二webpack部署优化webpack之...
    胖太_91bf阅读 2,726评论 0 4