即使配置设置正确,React 代理也无法工作

mg *_* nt 5 javascript node.js express reactjs

我尝试过多种方法

我添加了

"proxy": "http://localhost:5000/"
Run Code Online (Sandbox Code Playgroud)

package.json,甚至

devServer: {
    historyApiFallback: true,
     proxy: {
     "/": "http://localhost:5000"
     }
  }
Run Code Online (Sandbox Code Playgroud)

到 webpack.config.dev.js

然而,这些似乎都不起作用。当我转到 localhost:3000/age (我的路线之一)时,后端不会收到任何请求,即使 React 组件与其绑定并且我在 package.json 中设置了代理

我的 Express 应用程序侦听路线 5000,我通过浏览器作为 localhost:3000/age 访问它,并且也尝试过 localhost:5000/age 但不起作用

pra*_*nth 0

检查这个文档 在此输入图像描述

开发服务器只会尝试将其 Accept 标头中没有 text/html 的请求发送到代理。

如果直接用浏览器访问。它的内容类型标头设置为text/html。所以它不起作用。最好仅用于 ajax/fetch 请求。

问题

对于开发,React 有自己的服务器。如果您需要 React 侧路由,最好尝试React-route r。生产构建后,其工作方式与您期望的相同