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

Expo先启动Metro服务器后无法读取app.config.js的extra配置问题

Expo Dev Client 无法读取 app.config.js extra 配置的解决方案

1. 替换配置读取方式

在 Expo Dev Client 环境下,Constants.manifest 已不再适配,改用 Constants.expoConfig?.extra 读取配置:

import Constants from 'expo-constants';

// 替换原读取方式
const apiUrl = Constants.expoConfig?.extra?.API_URL;

2. 验证 app.config.js 配置格式

确保配置文件以默认导出方式输出完整的 Expo 配置对象,示例:

export default {
  expo: {
    name: 'YourApp',
    slug: 'your-app-slug',
    // 其他基础配置项...
    extra: {
      API_URL: 'https://your-api-domain.com',
      someKey: 'someValue'
    }
  }
};

3. 清除缓存并重装应用

dev-client 模式下缓存可能导致配置未同步,执行以下操作:

  • 清除 Metro 缓存:运行 npx expo start --dev-client --clear
  • 卸载 iOS 模拟器/物理设备上的应用,重新通过 expo run:ios 安装(此步骤会将最新配置打包进应用)
  • 再次启动 expo start --dev-client 连接应用

4. 物理设备场景的额外处理

针对先装应用再启动 Metro 的需求:

  • 必须通过 expo run:ios 完成应用安装(该命令会把当前 app.config.js 的 extra 配置写入应用)
  • 启动 Metro 时,若设备和电脑不在同一局域网,添加 --host tunnel 参数建立隧道连接:expo start --dev-client --host tunnel

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:40:29