Lazy loaded image
使用 Expo 开发 React Native
字数 1226阅读时长 4 分钟
2024-9-14
2025-5-10
type
status
date
slug
summary
tags
category
icon
password

使用 Expo 开发 React Native

在之前的独立开发中,用到了 Expo 开发 React Native 项目,可以不用部署环境,调试也更加方便,极大提升了开发效率,尤其适合快速原型开发和中小型项目
本文将带你全面了解 Expo,包括它的基本概念、安装方式、项目启动、真机调试方法、打包方案,还会讲讲如何将一个纯 React Native 项目迁移到 Expo。

Expo 是什么?

简单来说,Expo 是一套 React Native 的开发工具链,它提供了一站式的开发、调试、打包和部署能力。它包含了:
  • Expo Go:一个可安装在手机上的客户端,用于快速预览和调试项目
  • 开发服务器(dev server):自动启动的本地服务,支持热更新
  • 打包工具:支持云端构建(EAS Build)或本地打包
  • EAS 服务:提供构建、更新(OTA)、发布和版本管理的完整平台
它可以让你专注于写 JS/TS,而不需要一开始就关心原生配置、Xcode、Android Studio 等复杂的东西。

快速开始:安装 Expo CLI

你可以使用 npmyarn 全局安装 expo-cli

创建并启动项目

使用官方推荐的 create-expo-app 脚手架:
启动开发服务器:
你将看到一个带有二维码的网页(Metro bundler),可以用于真机扫码调试或直接在浏览器中预览。
项目结构非常清晰,主要包含:
默认会有一个简单的 Hello World 界面,你可以直接开始修改 App.js 开发自己的页面。

真机调试:Expo Go vs Development Build

Expo Go

  • 从 App Store 或 Google Play 下载 Expo Go
  • 使用 QR 码扫描 npm start 后生成的二维码
  • 即可在手机上实时预览项目
👉 适合早期开发、调试 UI、快速查看效果
⚠️ 但 Expo Go 只支持 Expo SDK 提供的功能,不支持自定义原生模块。

Development Build(推荐)

如果你需要调试自定义模块(比如摄像头、蓝牙等),可以使用 development build
或者 Android:
构建完成后,你可以下载并安装这个特制版本的 App,然后就能享受完整的调试能力(如断点、console、使用 dev menu 切换 API 等)。

打包方式:云端构建 vs 本地构建

Expo 提供两种打包方式:

1. 云端构建(推荐)

使用 EAS Build 服务可以方便地在云端构建 APK、AAB 或 iOS 的 IPA 文件:
需要登录 Expo 账号,同时你还可以配置 .eas.json 来定义打包配置(比如不同的环境变量、签名文件等)。

2. 本地打包(experimental)

如果你不想依赖云端,可以选择 eas build --local 来本地打包:
本地打包对开发机要求较高(需要安装 Android SDK 或 Xcode),适合有特殊构建需求的情况。

从纯 React Native 项目迁移到 Expo

如果你是用 npx react-native init 创建的项目,也可以逐步接入 Expo。

步骤如下:

  1. 安装 expo
  1. 添加 Expo 依赖
  1. 修改入口文件 index.js
AppRegistry.registerComponent 改为使用 registerRootComponent(App)
  1. 创建 app.jsonapp.config.js,定义 Expo 项目配置
  1. 初始化 EAS 配置
  1. 尝试运行 expo start,验证项目是否能正常运行
📌 注意:部分原生模块可能需要适配或替换为 Expo 提供的版本。

结语

Expo 对 React Native 开发者来说,是一个提升开发体验和效率的神器。无论你是入门选手,还是有经验的 RN 工程师,它都能在不同阶段提供帮助。
✅ 开发快、调试方便、打包省心
当然,它也不是银弹。如果你的项目需要大量自定义原生模块,后期可能需要 eject 出去,转为裸 React Native 项目。
📦 Expo 和裸 RN 项目之间可以灵活切换,这种可进可退的特性也让它特别适合 MVP 和快速试错阶段。
上一篇
Expo 打包发布到 Apple Store 记录
下一篇
24 年 7 月软件推荐