当前位置:首页 > 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项目的步骤 安装Node.js 确保系统已安装Node.js(建议版本12以上),可从官网下载并安装。Node.js自带npm包管理器,用于后续依赖安装。 创建React项目 使用官方…

react如何遍历

react如何遍历

遍历数组或对象的方法 在React中,遍历数组或对象通常用于渲染列表或动态生成内容。以下是几种常见的遍历方法: 使用map遍历数组map是遍历数组并返回新数组的高阶函数,适合渲染列表。 con…

react如何动画

react如何动画

React 动画实现方法 React 中实现动画可以通过多种方式,包括原生 CSS、第三方库或 React 内置的动画解决方案。以下是几种常见方法: 使用 CSS 动画和过渡 通过 CSS 的 tr…

react如何拓展

react如何拓展

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

react如何发音

react如何发音

React的发音 React的正确发音为 /riˈækt/,类似于“ree-akt”。以下是详细说明: 发音分解 第一个音节“Ree”发音类似英文单词“see”中的“ee”音。…

react如何同步

react如何同步

React 同步状态管理方法 在 React 中实现同步状态管理,可以通过以下多种方式实现: 使用 useState 和 useEffect 钩子 通过 useState 定义状态,使用 useEf…