React项目中请求跨域解决方法
今天经理给我了一个React项目地址,让我拉下来并跑起来,拉下来运行起来后,发现所有的请求都失败了,并且都是由于跨域问题导致的。花了点时间,解决了这个问题,在这里记录一下解决方法。
我的情况
- 使用postman,对这些跨域的接口进行请求,是能够请求到数据的;
- 但是项目中请求就跨域了;
- 和后端同事确认后知道:后端服务是部署在线上了的(确认了服务IP地址和端口号是正确的);
- 我这是为了将项目正常的跑起来看效果,所以不需要后端来解决跨域问题,前端临时解决就好;
解决方法
- 使用插件 http-proxy-middleware 来解决这个问题,yarn add http-proxy-middleware(我这里下载的是2.0.6版本,似乎版本不同会导致写法不同,建议使用我这个版本);
- 在src目录下,新建一个名为 setupProxy.js 的文件。文件内容为(由于我是内网开发,无法粘贴复制出来,纯手敲,如果敲错了,还望指正):
假设我项目中跨域报错的接口是(这是请求方式为 get 的接口):http://192.xxx.x.xx:8000/product/attachment/fetch-all-list