有人说:「发布 App 是程序员的巅峰时刻。」 我说:「那是因为他还没遇到 EAS Update。」
没错,今天我们要聊聊 Expo 生态里的两位“发布英雄”—— 一个让你像发网站一样发 App 更新, 一个让你像看监控一样盯用户崩溃情况。
它们就是:EAS Update 和 EAS Insights。
一、先说背景:为什么我们需要它们?
在传统的 React Native 开发流程里,你的应用更新方式大概是这样的:
改点代码 → 打包 → 提交 App Store / Play → 审核 → 等两天 → 用户更新 → “啊又是测试版?”
这个流程的关键词是:慢、繁琐、用户根本懒得更新。
而 Expo Application Services (EAS) 的出现,就像给 App 开发者装上了 CI/CD 的外挂。
它提供了一整套云端工具:
- EAS Build:云构建打包
- EAS Submit:自动上架
- EAS Update:代码热更新
- EAS Insights:实时性能 & 崩溃监控
今天的主角,就是后两位:EAS Update + Insights。
二、EAS Update:让 App 拥有网页的“秒更能力”
还记得当年网页更新只要 F5 吗?
EAS Update 的理念差不多:让 React Native 应用也能「一键热更新」,无需重新上架。
它到底做了什么?
EAS Update 会把你的 JavaScript bundle 和 静态资源(图片、字体) 上传到 Expo 的 CDN。
当用户下次打开 App 时,客户端会:
- 检查有没有新的更新;
- 下载最新的 JS bundle;
- 无感刷新(或下次启动时应用)。
整个过程用户几乎察觉不到。
唯一的风险是——更新太快可能连产品经理都来不及说“别发” 😅。
基本使用流程
- 配置项目
确保你的项目使用了 Expo Managed 或支持 Expo Updates 的 Bare 项目。
在 app.json 中配置:
{ "expo": { "runtimeVersion": { "policy": "sdkVersion" }, "updates": { "url": "https://u.expo.dev/YOUR-PROJECT-ID" } }}- 登录并初始化
eas logineas init- 运行 EAS Update
eas update --branch production --message "Fix login bug"EAS 就会把当前打包的 JS + 资源上传到云端,推送给 production 分支的用户。
- 控制谁能收到更新
你可以创建多个分支(branch)来管理不同环境:
eas update:branch:create staging比如:
production→ 正式用户staging→ 测试团队preview→ QA小姐姐
什么时候用 EAS Update?
- 修复 JS 层 bug(UI、逻辑等)
- 快速灰度发布
- 测试 AB 版本
- 不改原生模块(否则得重新打包)
简单说,动 JS 就推 Update,动原生就重打包。
三、EAS Insights:你的 App 健康监测中心
EAS Update 负责“送药”, EAS Insights 就是“测体温 + 查血压”。
这是 Expo 在 2024 年推出的新服务,用来监控:
- 用户崩溃(JS 异常 + 原生崩溃)
- 性能指标(启动时间、帧率等)
- 更新版本分布(多少人还在老版本)
- 自定义事件(比如用户点了多少次“购买”)
开启 Insights,只需两步
- 登录你的 EAS Dashboard
在 https://expo.dev 上打开你的项目, 点击左侧导航栏的 “Insights”。
- 安装 SDK
在项目中安装:
npx expo install expo-insights然后在入口文件(App.tsx)里加上:
import * as Insights from 'expo-insights';Insights.start();没错,就这么简单。
之后你的 App 崩溃、性能数据、Update 部署情况全都一目了然。
四、Update + Insights = 真·App DevOps
把这两位连起来用,你会发现一整个「闭环」:
- 发现问题(EAS Insights)
- 修复代码(本地)
- 无感推送更新(EAS Update)
- 再看数据(Insights Dashboard)
这简直就是移动端的 “前端热更新 + Sentry + Datadog” 三合一体验。
五、总结:开发者的幸福感,从「不打包也能更新」开始
| 功能 | 工具 | 一句话总结 |
|---|---|---|
| 云构建 | EAS Build | 不用本地配置环境 |
| 热更新 | EAS Update | 改 JS 秒发上线 |
| 性能监控 | EAS Insights | 让数据说话 |
| 上架发布 | EAS Submit | 一键推商店 |
最后彩蛋:一条命令发版
当你写完代码,只需敲这一行:
eas update --branch production --message "🐞 fix: 修复启动闪退"几秒钟后,成千上万用户的 App 自动更新。 那一刻,你会明白:
EAS 不是工具,是自由的味道。

