react脚手架配置代理

-

如果项目中就请求一个地址可以直接在package.json中配置

有点:配置简单,不用加前缀

缺点:不能配置多个代理

"proxy": "http://localhost:5000"

如果项目中需要配置多个代理

优点:可以配置多个代理

react17版本的代理配置需要在src/setupProxy.js中配置

复制代码
const proxy = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    proxy('/api1', {
      target: "http://localhost:5000",
      changeOrigin: true, // 控制服务器收到的请求头中的Host的值 如果设置为true,服务器不会知道真实的请求地址,只会知道代理的地址,如果设置为false,服务器会知道真正请求的地址
      pathRewrite: {'^/api1': ''} // 重写请求路径 这个必须要加,如果不加 服务器端收到的请求地址是 /api/url 请求地址就不对了
    }),
    proxy('/api2', {
      target: "http://localhost:5001",
      changeOrigin: true,
      pathRewrite: {'^/api2': ''}
    })
    // ...
  )
}
复制代码

react18版本的配置,主要的差异是需要用http-proxy-middleware中的createProxyMiddleware创建代理

复制代码
const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    createProxyMiddleware('/api1', {
      target: "http://localhost:5000",
      changeOrigin: true, // 控制服务器收到的请求头中的Host的值
      // 假如前端的服务是localhost:3000
      // changeOrigin:true 时 ,服务器收到的Host是 localhost:5000
      // changeOrigin:false 时 ,服务器收到的Host是 localhost:3000
      pathRewrite: {'^/api1': ''} // 重写请求路径 这个必须要加,如果不加 服务器端收到的请求地址是 /api/url 请求地址就不对了
    }),
    createProxyMiddleware('/api2', {
      target: "http://localhost:5001",
      changeOrigin: true,
      pathRewrite: {'^/api2': ''}
    })
    // ...
  )
}
复制代码

 

 

 

 

 

-

 

posted @   古墩古墩  Views(294)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2018-09-24 原生js模仿下拉刷新功能
点击右上角即可分享
微信分享提示