React框架-解决跨域问题

React框架-解决跨域问题
郭顺发1. 场景
React服务的地址是127.0.0.1:3000
,接口服务的地址是127.0.0.1:5000
。
React服务3000直接调用接口服务5000可能会产生跨域问题。
这里有两种解决方案,一种是直接在package.json中配置,一种是使用单独的配置文件。下面会对这两种进行介绍。
2. 第一种:package.json 配置
缺点:
- 只能配置一个服务,如有多个服务不能使用。
优点:
- 配置简单。
配置:
1 | "proxy": "http://127.0.0.1:5000" |
访问:
正常访问3000服务,会被转发到5000,如:http://127.0.0.1:3000/findUsers
。
3. 第二种:使用 http-proxy-middleware 组件包
缺点:
- 配置繁琐。
- 接口调用必须加前缀,如/api1。
优点:
- 可配置多个接口服务。
配置:
src文件下创建setupProxy.js文件,文件内容如下。
1 | const proxy = require('http-proxy-middleware') |
访问:
http://127.0.0.1:3000/api1/findUsers
,会被转发到5001服务的http://127.0.0.1:5001/findUsers