vue项目前端开发环境请求跨域,配置proxy代理服务

1 篇文章 0 订阅

一、问题描述

部分接口后端没有添加开发环境地址到白名单,访问出现跨域问题,无法进行接口调试,遂使用proxy。
版本是vue2+vue-cli4.5

二、思路

1、开发环境配置代理服务,请求本地的服务,再通过本地服务和其他源的服务器通信
2、若是生产环境下,需要再配置反向代理,把target地址换反向代理后的地址

三、实现

1、axios的baseurl为空,触发代理服务
1、axios中的url匹配到给定字符串‘/api’时,请求地址变为代理服务地址

env.development中baseurl写空

VUE_APP_HTTP2_BASE_URL=

vue,.config.js中在devServer下配置

proxy: {
  '/rdapi': {
    target: 'https://www.xxxx.com', // 请求时出现跨域的地址
    secure: true,  // 如果是https接口,需要配置这个参数
    changeOrigin: true //设置为true代理服务器此时会根据请求的 target 地址修改 Host。
  }
}

封装axios请求的时候,URL写入包含‘/api’的接口名

  const api2 = axios.create()
  const { appId: app_id, appSecret: app_secret } = this.$config.http2
  const { data: token } = await api2({
    method: 'POST',
    url: '/api/xxxx/xxx',
    data: { app_id, app_secret }
  })

这个时候请求地址变本地的
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值