React 跨域咋整?

react 解决跨域其实是有两种方法的~~~  咋们先来看一下第一种方法

1)在 pachage.json 文件中配置

"proxy":"后端的接口地址"

但是上述这种方法配置之后,只能使用一个代理,那如果项目中需要配置多个代理的话就会拉跨

我们来看看第二种方法!!

2)创建 setupProxy.js  中配置代理

const {createProxyMiddleware} = require('http-proxy-middleware')

module.exports = function(app){
    app.use(
        createProxyMiddleware('/api1',{//遇见/api1前缀的请求,就会触发该代理配置
            target:'http://localhost:5000', //请求转发给谁
            changeOrigin:true, //控制服务器收到的响应头中Host字段的值
            pathRewrite:{'^/api1':''} //重写请求路径(必须要做)
        }),
        createProxyMiddleware('/api2',{
            target:'http://localhost:5001',
            changeOrigin:true,
            pathRewrite:{'^/api2':''}
        })
    )
}

在 require 中结构出  createProxyMiddleware 这个方法,然后通过 module . exports 模块抛出一个函数,假设 这个函数的参数是 app 那么就使用 app.use 的方法在里面使用 createProxyMiddleware 这个方法

createProxyMiddleware 直接翻译过来就是  创建 代理 中间件   的意思

首先需要设置代理的同一前缀,通过 target 写入后端的接口地址

changeOrinig 用来设置是否需要跨域  是一个布尔值  一般都是写入  true

那么  pathRewrite 是用来重写请求路径的

因为虚拟的前缀是加在真正的接口上面的,在使用完之后需要清除掉(设置为空)

时小记,终有成。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值