当前位置:首页 > React

前端react如何配置反向代理

2026-01-25 09:07:08React

在React中配置反向代理

使用create-react-app创建的项目可以通过http-proxy-middleware配置反向代理,解决开发环境跨域问题。

方法一:通过setupProxy.js配置

在src目录下创建setupProxy.js文件:

前端react如何配置反向代理

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

module.exports = function(app) {
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'http://your-backend-server.com',
      changeOrigin: true,
      pathRewrite: {
        '^/api': ''
      }
    })
  );
};

方法二:修改package.json

在package.json中添加proxy字段:

前端react如何配置反向代理

"proxy": "http://your-backend-server.com"

配置多代理

对于多个API端点的情况,setupProxy.js可以配置多个代理规则:

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

module.exports = function(app) {
  app.use(
    '/api1',
    createProxyMiddleware({
      target: 'http://server1.com',
      changeOrigin: true
    })
  );

  app.use(
    '/api2',
    createProxyMiddleware({
      target: 'http://server2.com',
      changeOrigin: true
    })
  );
};

生产环境配置

生产环境需要通过web服务器(Nginx/Apache)配置反向代理。Nginx示例配置:

location /api {
  proxy_pass http://your-backend-server.com;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
}

注意事项

  • 开发环境配置只对npm start有效
  • 修改代理配置后需要重启开发服务器
  • 路径重写规则根据实际API结构调整
  • 生产环境必须通过服务器配置,不能依赖前端代理

标签: react
分享给朋友:

相关文章

如何启动react

如何启动react

安装Node.js 确保系统已安装Node.js(建议使用LTS版本),可通过官网下载并安装。安装完成后,在终端运行以下命令验证版本: node -v npm -v 创建React项目 使用官方工具…

react如何安装

react如何安装

安装React的步骤 确保已安装Node.js(建议版本12或更高),可通过以下命令检查版本: node -v npm -v 使用Create React App快速搭建项目(推荐): npx c…

react如何检测

react如何检测

检测 React 应用的方法 使用 PropTypes 进行类型检查 PropTypes 是 React 内置的类型检查工具,用于验证组件的 props 是否符合预期。在开发环境中,PropTypes…

react如何重置

react如何重置

重置 React 应用的状态 使用 useState 钩子重新初始化状态变量是最直接的方法。将状态变量重置为初始值或空值即可完成重置。 const [count, setCount] = useSt…

react如何清理

react如何清理

清理 React 项目的方法 清理未使用的依赖项 运行 npm prune 或 yarn install --production 可以移除 node_modules 中未在 package.json…

react就业如何

react就业如何

React 就业市场现状 React 作为当前主流前端框架之一,就业需求持续旺盛。国内外互联网企业、中大型公司以及初创团队普遍采用 React 技术栈,尤其在 Web 应用、移动端(React Nat…