当前位置:首页 > React

react如何配置反向代理

2026-03-31 16:52:57React

在 React 中配置反向代理

React 应用通常通过开发服务器(如 create-react-app 内置的服务器)运行,反向代理可以解决跨域问题或对接后端服务。以下是配置方法:

使用 create-react-appproxy 配置

修改 package.json 文件,添加 proxy 字段指向后端服务地址:

{
  "name": "react-app",
  "version": "1.0.0",
  "proxy": "http://localhost:5000"
}

重启开发服务器后,所有未知请求会自动代理到 http://localhost:5000

通过 http-proxy-middleware 自定义代理规则

如果需要更灵活的代理规则(如多路径代理),可以手动配置:

  1. 安装依赖:

    npm install http-proxy-middleware --save
  2. src 目录下创建 setupProxy.js 文件(无需手动引入,create-react-app 会自动加载):

    const { createProxyMiddleware } = require('http-proxy-middleware');
    
    module.exports = function(app) {
      app.use(
        '/api',
        createProxyMiddleware({
          target: 'http://localhost:5000',
          changeOrigin: true,
        })
      );
    
      app.use(
        '/uploads',
        createProxyMiddleware({
          target: 'http://localhost:6000',
          changeOrigin: true,
        })
      );
    };

生产环境配置

开发环境的代理仅对本地开发服务器有效。生产环境需通过 Web 服务器(如 Nginx)配置反向代理:

react如何配置反向代理

server {
  listen 80;
  server_name yourdomain.com;

  location / {
    root /path/to/react/build;
    try_files $uri /index.html;
  }

  location /api {
    proxy_pass http://backend:5000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
  }
}

注意事项

  • 开发时确保后端服务已运行且地址与代理配置一致。
  • 修改 setupProxy.js 后需重启开发服务器。
  • 生产环境部署时,静态文件(React 构建产物)和 API 代理需分开处理。

标签: react
分享给朋友:

相关文章

react如何拓展

react如何拓展

React 拓展方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式,通过接收一个组件并返回一个新组件实现功能拓展。例如,为组件添加日志功能: function withLogging…

react如何打包

react如何打包

打包 React 项目的基本步骤 React 项目通常使用 create-react-app 或类似的脚手架工具创建,这些工具内置了打包功能。以下是打包 React 项目的详细方法: 安装依赖并构建…

react 如何debug

react 如何debug

React 调试方法 使用 React Developer Tools React Developer Tools 是浏览器扩展,支持 Chrome 和 Firefox。安装后,可以在开发者工具中查看…

react如何循环

react如何循环

循环渲染列表 在React中循环渲染列表通常使用map方法,这是最常用的方式。通过map可以将数组中的每个元素转换为React元素并渲染到页面上。 const items = ['Apple', '…

react如何发布

react如何发布

发布React应用的步骤 构建生产版本 使用以下命令生成优化后的生产版本代码,代码会被压缩并移除开发环境中的调试工具: npm run build 构建完成后会生成build文件夹,包含所有静态资源…

react 如何获取dom

react 如何获取dom

获取 DOM 的方法 在 React 中,可以通过 useRef 或 createRef 来获取 DOM 节点。useRef 是函数组件中常用的方法,而 createRef 通常用于类组件。 使用…