加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

关于react跨域代理的问题,http-proxy-middleware代理失败

发布时间:2020-12-15 09:31:30 所属栏目:百科 来源:网络整理
导读:经过一上午的时间,终于解决了跨域问题,为了避免大家和我犯同样的错误,特意过来总结一下 使用react脚手架生成的项目,如果要实现跨域,版本低于2的,只需要在 ,根据自己的需求,直接 target后面是自己要跳转的链接 如果你的脚手架版本较高,则需要在src的

经过一上午的时间,终于解决了跨域问题,为了避免大家和我犯同样的错误,特意过来总结一下

使用react脚手架生成的项目,如果要实现跨域,版本低于2的,只需要在

,根据自己的需求,直接

target后面是自己要跳转的链接

如果你的脚手架版本较高,则需要在src的目录下,创建一个setupProxy.js,然后里面直接

使用之前,记得下载

yarn add http-proxy-middleware

如果你启动项目,出现了

When specified,"proxy" in package.json must be a string.
Instead,the type of "proxy" was "object".
Either remove "proxy" from package.json,or make it a string.

你的版本就是过高了,跨域不能直接在package.json,当然,如果你从头到尾,只跨域一种,完全可以在package.json里面这样设置

"proxy":"http://baidu.com"

这个写法,无论版本高低,都可以使用。

但是这些都不是难倒我的,接下来是重点,我按照网上的步骤,甚至不惜去官网,靠蹩脚的英语和自动翻译瞅了瞅,发现自己没毛病,可是代理却一直失败,请求的接口还是localhost:3000,然后

哦,原来如此,问题在node上,小伙伴们注意了,如果一直失败,请去package.json看一下自己的react和react-scripts版本。

我的react-scripts版本还停留在0.9.x,然而react却是最新的,为什么呢,因为node版本低了,以至于你在创建脚手架时,最新的脚手架根本就无法下载,但是由于reac的版本很高,导致项目运行时,哪怕你的脚手架是个1都不如的渣渣,但是,对不起,请按照最高版本的步骤来,console小哥是这样回答的,然后你会发现,按照最高版本来,console告诉你,亲,不行的呢

我的node版本是8.9.0,react的2以上的版本,需求node9以上的,记住哦,react默认是最新的呢,好气,去升级了,然后。。。

node升级的所有教程,都不是针对window系统的,幸好发现的早,但是有很多人踩坑了,所以提醒一下,对于window系统的用户,你直接打开自己的黑窗口,输入?where node?

然后去官网下载最新的node版本,安装到出现的路径中,node最新版本升级成功,也不需要去查卸载教程,一切做完,你就可以完成跨域了,对了,项目什么的,最好重新创建一个,因为你的脚手架升级了

希望我的回答,能帮助到你

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读