为了账号安全,请及时绑定邮箱和手机立即绑定

即使配置设置正确,React 代理也不起作用

即使配置设置正确,React 代理也不起作用

莫回无 2022-08-18 09:45:06
我尝试了多种方法我添加了"proxy": "http://localhost:5000/"到 package.json,甚至devServer: {    historyApiFallback: true,     proxy: {     "/": "http://localhost:5000"     }  }to webpack.config.dev.js但是,这些似乎都不起作用。当我转到localhost:3000/age(我的一个路由)时,后端没有收到任何请求,即使 React 组件绑定到它,并且我在 package.json 中设置了代理我的Express应用程序在路由5000上侦听,并且我正在通过浏览器以localhost:3000 /age访问它,并且还尝试了localhost:5000 /age,但无法正常工作
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

查看此文档 

//img1.sycdn.imooc.com//62fd99c2000132e710760261.jpg

开发服务器将仅尝试将不包含 text/html 的请求发送到代理。

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

问题

对于开发 react 有自己的服务器。如果你需要一个 react side route,最好尝试 react-router。生产构建后,其工作方式与您预期相同


查看完整回答
反对 回复 2022-08-18
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

您需要将代理设置为后端的端口。如果您的后端正在侦听5000,那么它应该是"proxy": "http://localhost:5000"

默认情况下,对站点自己的域做出反应时的任何 http 请求都使用运行应用的任何端口。由于 react 在 5000 上运行,因此它将通过该端口发送所有请求。代理告诉它将此默认行为更改为指定的代理。


查看完整回答
反对 回复 2022-08-18
  • 2 回答
  • 0 关注
  • 680 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号