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

Expo项目迁移至EAS:eas.json是否替代app.json及配置疑问

从expo build迁移至EAS Build的配置说明

一、eas.json的核心配置内容

eas.json主要用来定义构建/提交的不同环境配置(profile),核心结构包含两大部分:

  • build:定义各环境的构建参数,常见配置项:
    • 指定构建平台(ios/android/all)
    • 设置构建时的环境变量(env字段)
    • 自定义构建命令(buildCommand)
    • 证书获取策略(credentialsSource,可选local/remote)
    • 增量构建开关(incremental)
    • 开发客户端专属配置(developmentClient)
  • submit:配置应用商店提交的参数,比如iOS的Apple ID、Android的密钥库信息等

举个简单的dev和prod配置示例:

{
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "ios": {
        "simulator": true
      }
    },
    "production": {
      "distribution": "store",
      "ios": {
        "resourceClass": "m1-medium"
      }
    }
  },
  "submit": {
    "production": {
      "ios": {
        "appleId": "your-apple-id@example.com",
        "ascAppId": "123456789"
      }
    }
  }
}

二、eas.json不会替代app.json

你必须保留app.json,它是Expo项目的基础配置文件,EAS Build会依赖它读取以下核心信息:

  • 应用名称、slug、版本号、构建号
  • 图标、启动页的资源路径
  • iOS/Android的平台专属配置(比如权限、包名/bundle ID)

eas.json只是用来补充构建流程的专属配置,和app.json各司其职,不存在替代关系。

三、对app.config.js的影响

app.config.js作为动态配置文件,迁移到EAS后完全可以保留,影响极小:

  • EAS会像读取app.json一样解析app.config.js输出的配置内容
  • 如果之前用app.config.js动态生成版本号、环境变量、平台配置,这些逻辑不需要修改
  • 若需要根据不同的EAS构建profile调整配置,可以通过读取环境变量EAS_BUILD_PROFILE来实现动态适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:25:24