vue处理了跨域后线上环境如何切换

vue处理了跨域后线上环境如何切换

分享一个vue发布线上路径接口的问题 ! 一般我们在做开发项目的时候在本地去做的时候常常就会遇到跨域 我们要处理跨域如下:

proxyTable: {
      '/api': {
        target: 'https://www.88888.com',
        changeOrigin: true,
        pathRewrite: {
          '^/api':''
        }
    }
 },

这个大家都很熟悉了!

但是上线的时候出问题了发现我们接口请求的接口都变成了 【当前项目所在路径+接口名称】这样子

碰到axios.get(’/aa/bb’)请求,因为在aa的前面有个"/",表示根目录的意思,
所以"/aa/bb"会被解析为hostname+port+“aa/bb”,所以请求地址就为"www.88888.com:8080/aa/bb"

既然原因找到了!那就开始解决

开始解决

(以vue2.0为例)

1. 找到dev.env.js(本地环境) 和 prod.env.js(生产环境)

dev.env.js

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  API_HOST: '"本地环境地址"'
})

prod.env.js

'use strict'
module.exports = {
  NODE_ENV: '"production"',
  API_ROOT:'"生产环境地址"'
}

2.找到 main.js
const host = process.env.NODE_ENV === 'development' ? '/api' : process.env.API_ROOT
                 //用来判断当前环境是线上还是线下      //'/api'配置代理转发的名称         //process.env.API_ROOT   取线上生产环境地址
const instance = axios.create({
  baseURL: host
})
Vue.prototype.$http = instance

然后完工 打包发布直接一条龙 隔壁前端妹子直呼内行!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值