vue打包时配置生产环境的接口

效果图

先看效果图,打包后在dist中打开index.html可以看到,访问接口是正确的。
在这里插入图片描述

方法

1.配置config/prod.env.js

module.exports = {
  NODE_ENV: '"production"',
  API_HOST: '"http://www.puduoduo.com/api.php?s="'
}

2.处理axios的baseURL

比如我的在util/http.js中处理

import axios from 'axios';
import QS from 'qs';

var env = process.env;
if(env.NODE_ENV == 'production'){
  axios.defaults.baseURL= env.API_HOST
}
// console.log('http.defaults.baseURL: ', axios.defaults.baseURL);

注:官方解释:process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()。

3.处理接口api

比如我的所有的api接口链接房子util/api.js中

import { get, post } from "./http";

// 打包时去掉接口中的"/api/"
var env = process.env;
var api = env.NODE_ENV == "production" ? "" : "/api";

// 常用的接口
const common = {
  province: p => post(api + "/dict/province", p), //省
  city: p => post(api + "/dict/city", p), //市
  district: p => post(api + "/dict/district", p), //区
  bankList: p => post(api + "/dict/bankList", p) //所有银行列表
};

因为在开发环境中使用了代理,

proxyTable: {
      '/api': {
        target: 'http://www.puduoduo.com/api.php?s=',
        changeOrigin: true,  //是否跨域
        pathRewrite: {
          '^/api': ''   //需要rewrite重写的,
        }
      }
    },

所有的接口上会添加’/api’,所以打包时要去掉

好了,至此,已解决打包时修改接口域名的问题,如果帮到了你,请点个赞哈。
在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值