news 2026/9/14 4:13:21

如何用 EAS 构建 Ignite 应用的开发、预览与生产构建包?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 EAS 构建 Ignite 应用的开发、预览与生产构建包?

如何用 EAS 构建 Ignite 应用的开发、预览与生产构建包?

【免费下载链接】igniteInfinite Red's battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and counting.项目地址: https://gitcode.com/GitHub_Trending/ig/ignite

Ignite 应用生成后,要在本地模拟器、真机上运行,或者产出可提交应用商店的安装包,都需要先构建出对应的二进制。Ignite 把这件事交给 Expo Application Services(EAS):它既能用 EAS 云服务在云端构建,也可以在本地执行构建,并且模板仓库里已经配好了eas.json构建配置文件和一组package.json快捷命令,覆盖开发(development)、预览(preview)与生产(production)三类构建目标。本文按“准备环境 → 看懂构建配置 → 执行构建 → 验证产物”的顺序说明如何完成这些构建。

前提条件

按 QuickStart 的说明,使用 EAS 构建需要准备:

npm install -g eas-cli
  • 安装 EAS CLI;
  • 一个 Expo 账号(文档说明可免费注册);
  • 模板自带的 eas.json 中声明了"cli": { "version": ">= 3.15.1" },即 EAS CLI 版本需要满足>= 3.15.1
  • 注意平台限制:构建 iOS 应用必须在 macOS 上进行,Android 可以从任意操作系统构建。

另外一个背景:Ignite(版本 10 起)不再在搭建时提供 Expo Go 选项(见 Expo and Ignite),因此要在本地模拟器或手机上运行应用,boilerplate 的 README 明确要求先执行一次eas build产出构建包。

理解 eas.json 中的构建配置

每个新生成的 Ignite 项目根目录都带有一个 eas.json,它是 EAS 构建与分发的配置文件,内置了面向常见场景的构建 profile(说明来自 eas.json 文档):

Profile用途
development内部调试构建,用于模拟器测试(distribution: internal、iOSbuildConfiguration: Debugsimulator: true、Android 走:app:assembleDebug
development:device内部调试构建,用于真机测试(在development基础上将 iOSsimulator设为false
preview内部生产构建,用于模拟器测试(Android 产出apk
preview:device内部生产构建,用于真机测试(iOSsimulator: false
production默认生产 profile,面向外部分发(App Store / Google Play)

profile 之间通过extends继承配置,例如development继承production后只覆盖自己需要的项,development:device再继承development并修改simulator。这意味着你需要新增构建变体时,可以照这个模式扩展eas.json,而不是复制整段配置。eas.json中还包含一段"submit": { "production": {} },配合 production 构建的产物提交使用。

执行构建

模板在 package.json 中为每个 profile 和平台都提供了快捷脚本,底层都是eas build命令:

# iOS pnpm run build:ios:sim # eas build --profile development --platform ios --local pnpm run build:ios:device # eas build --profile development:device --platform ios --local pnpm run build:ios:preview # eas build --profile preview --platform ios --local pnpm run build:ios:prod # eas build --profile production --platform ios --local # Android pnpm run build:android:sim # eas build --profile development --platform android --local pnpm run build:android:device # eas build --profile development:device --platform android --local pnpm run build:android:preview # eas build --profile preview --platform android --local pnpm run build:android:prod # eas build --profile production --platform android --local

几点使用说明:

  • 这些快捷脚本都带了--local,即在本机执行构建。QuickStart 同时说明,这些用于应用商店分发的二进制“可以在 EAS(Expo 提供的云服务)上构建,也可以在本地自行构建”,两条路径都受支持;
  • 选择哪个 profile 取决于目标:调试代码用development(模拟器)或development:device(真机),验收接近线上的行为用preview/preview:device,提交商店用production
  • production 构建的典型命令即pnpm run build:android:prodpnpm run build:ios:prod,执行后终端会给出后续指引,按提示操作即可。

验证构建结果

判断构建是否成功的依据来自 QuickStart 的说明:构建成功后,你会得到 AAB 或 IPA 格式的二进制文件(取决于构建的平台),这些文件就是可提交到对应应用商店(Google Play / App Store)的产物。

对于开发构建,验证方式则是把产出的构建包装到目标环境运行:README 指出构建包的用途就是让应用跑起来在本地模拟器或手机上调试。构建完成后,eas.json中的submit.production配置与 production 产物对应商店提交流程。

限制与注意事项

  • iOS 构建只能在 macOS 上执行;
  • 快捷脚本是--local本地构建,如果改用 EAS 云端构建,按 QuickStart 的说法是同一套 EAS Build 流程的另一种执行位置;
  • 由于 Ignite 10 不再默认支持 Expo Go,模拟器/真机调试依赖先完成一次eas build,不能指望 Expo Go 直接跑应用。

【免费下载链接】igniteInfinite Red's battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and counting.项目地址: https://gitcode.com/GitHub_Trending/ig/ignite

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 4:11:31

keep 开源告警平台部署实战:从选型到上线的完整指南

keep 开源告警平台部署实战:从选型到上线的完整指南 【免费下载链接】keep The open-source AIOps and alert management platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 监控系统、CI/CD、SRE 工具各喊各的,值班同学每天在几…

作者头像 李华
网站建设 2026/9/14 4:11:25

中文操作系统内核开发:假持久化与USB协议栈实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 4:10:28

SpringBoot微信小程序物业管理系统开发实践

1. 项目概述"springboot微信小程序物业缴费报修置换问卷"是一个面向现代社区物业管理的数字化解决方案。这个系统通过微信小程序作为前端入口,SpringBoot作为后端框架,实现了物业缴费、报修处理、二手置换和问卷调查四大核心功能模块。在实际社…

作者头像 李华
网站建设 2026/9/14 4:04:58

Linux远程连接工具全解析:从SSH协议到实战选型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华