使用 http-proxy-middleware
解决 CORS 问题时,你可以按照以下步骤进行设置:
1. 安装 http-proxy-middleware
在你的 React 项目中,运行以下命令以安装 http-proxy-middleware
:
npm install http-proxy-middleware --save
2. 创建 setupProxy.js
在你的项目的 src
目录下创建一个名为 setupProxy.js
的文件。这个文件将用于配置代理。
3. 配置代理
以下是一个示例代码,展示如何在 setupProxy.js
中配置代理,以将请求转发到后端 API(假设后端服务运行在 http://192.168.1.234:700
):
// src/setupProxy.js
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api', // 替换为你需要代理的路径前缀
createProxyMiddleware({
target: 'http://192.168.1.234:700', // 后端服务地址
changeOrigin: true, // 对于虚拟托管的站点,这个选项需要设置为 true
pathRewrite: {
'^/api': '', // 可选:如果你想去掉请求中的 `/api` 前缀,可以这样重写路径
},
})
);
};
4. 修改请求
现在,在你的 React 应用中,当你发起请求时,只需使用相对路径。例如,如果之前的完整请求是这样的:
fetch('http://192.168.1.234:700/api/all')
你现在可以这样写:
fetch('/api/all') // 仅使用相对路径
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
注意事项
- 确保你的开发服务器(通常是通过
npm start
启动的)正在运行。 - 当你访问
/api/...
路径时,实际上会被代理到指定的目标服务器。 - 如果目标服务器与开发服务器不是同一台机器,请确保网络连接正常。
这样配置后,就应该能成功解决 CORS 问题。如果还有其他问题,请随时问我!
内容由零声教学AI助手提供,问题来源于学员提问