You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何关联React Native(Expo)与Nest JS?CORS网络错误排查

解决NestJS与React Native的CORS跨域问题

你当前的默认enableCors()配置可能无法适配React Native的请求特性,以下是针对性的解决方案:

1. 细化CORS配置参数

将默认的app.enableCors()替换为带具体配置的版本,覆盖React Native请求所需的权限:

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.enableCors({
    origin: '*', // 开发阶段临时允许所有来源,生产环境请指定你的RN应用域名/IP
    credentials: true, // 允许携带Cookie或认证凭证
    allowedHeaders: ['Content-Type', 'Authorization', 'Accept'],
    methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], // 覆盖常用HTTP方法
    preflightContinue: false,
    optionsSuccessStatus: 204,
  });
  await app.listen(3001);
}
bootstrap();

2. 排查其他潜在问题

  • 确认请求地址正确性:React Native模拟器无法直接使用localhost访问本地NestJS服务,需替换为电脑的局域网IP(比如http://192.168.x.x:3001)
  • 检查axios请求配置:确保请求头没有携带未被允许的字段,比如自定义的非标准头需要加入allowedHeaders列表
  • iOS ATS配置(可选):如果是iOS模拟器,若请求涉及HTTP协议,需在info.plist中添加ATS例外配置(但你能正常请求谷歌,此问题概率较低)

内容的提问来源于stack exchange,提问作者Louay Badri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 08:22:18