React Native配置package.json代理不生效 能否设置API请求代理?
React Native API 代理配置说明
首先明确:React Native 不支持 像普通前端 React 项目那样直接在 package.json 中设置 Proxy 字段实现请求代理。package.json 的 Proxy 配置是 Create React App 等前端脚手架内置的 webpack dev server 提供的能力,React Native 运行环境并不走 Web 开发服务的代理逻辑,所以该配置自然不会生效。
可行的代理配置方案
- 方案1:统一封装请求基地址
直接在你的请求工具(比如fetch、axios)的封装逻辑中统一设置请求前缀,开发环境用测试接口地址,生产环境切换为正式地址即可,示例如下:const baseURL = __DEV__ ? 'https://dev.someapi.com' : 'https://someapi.com'; // axios 配置示例 const request = axios.create({ baseURL }); - 方案2:开发阶段用本地抓包代理工具
如果需要跨域调试或者走自定义代理逻辑,可以使用 Charles、Fiddler 等抓包代理工具,给手机或模拟器设置全局代理,所有请求都会走你配置的代理规则。 - 方案3:本地启动 Node 代理服务
开发阶段本地启动一个 Node 服务作为中间代理,所有 RN 的请求先发到本地 Node 服务,再由 Node 服务转发到目标接口地址,可解决跨域或者接口签名校验等特殊场景问题。
内容的提问来源于stack exchange,提问作者H.Gndgn
相关产品推荐
相关产品推荐

