【发布时间】:2020-05-24 03:41:34
【问题描述】:
我的 React App 使用
代理对后端的请求"proxy": "http://localhost:3001"
在 package.json 中用于开发目的。
不知何故,当我使用 React Router Link 组件进行重定向时,请求有时会通过代理转发到后端,而不是请求提供前端页面。为什么会这样?此外,它是不一致的!这意味着有时它会这样做,有时它不会,尽管单击完全相同的链接组件。有什么想法吗?
【问题讨论】:
我的 React App 使用
代理对后端的请求"proxy": "http://localhost:3001"
在 package.json 中用于开发目的。
不知何故,当我使用 React Router Link 组件进行重定向时,请求有时会通过代理转发到后端,而不是请求提供前端页面。为什么会这样?此外,它是不一致的!这意味着有时它会这样做,有时它不会,尽管单击完全相同的链接组件。有什么想法吗?
【问题讨论】:
我找到了解决办法! 我已经从 package.json 中完全删除了代理设置,并在我的 src 文件夹中添加了一个 setupProxy.js 文件,其中包含以下内容:
const proxy = require("http-proxy-middleware");
module.exports = app => {
app.use(proxy.createProxyMiddleware("/api", { target: "http://localhost:3001/" }));
};
【讨论】:
您是否在前端和后端使用相同的路由?
我建议您将API 放在后端所有路由的前面,以避免任何不一致。
所以如果你的后端路由是
/用户
改成
/api/用户
【讨论】: