在云端配置开发构建
编辑
了解如何使用 EAS Build 为项目配置开发构建。
在本章中,我们将为我们的示例应用设置并配置 EAS 的开发构建。

理解开发构建
让我们先了解什么是开发构建,以及为什么我们需要它们。
开发构建 是我们项目的调试版本。它已优化以便在创建应用时快速迭代。它包含 expo-dev-client 库,提供了一个强大而完整的开发环境。该设置允许我们根据需要集成任何本地库或更改 本地目录 内的代码。
关键亮点
注意: 如果您熟悉 Expo Go,可以将开发构建视为根据项目要求定制的 Expo Go 版本。
| 特性 | 开发构建 | Expo Go |
|---|---|---|
| 开发阶段 | 为移动应用开发提供类似 Web 的快速迭代速度。 | 允许通过客户端应用快速迭代和测试 Expo SDK 项目。 |
| 协作 | 促进团队测试,具有共享的本地运行时。 | 通过设备二维码轻松共享项目。 |
| 第三方库支持 | 完全支持任何 第三方库,包括需要自定义本地代码的库。 | 限于 Expo SDK 内的库,不适合自定义本地依赖项。 |
| 定制化 | 通过 配置插件 进行广泛定制,并可直接访问本地代码。 | 定制化有限,专注于 Expo SDK 能力,而无直接的本地代码修改。 |
| 预期用途 | 适用于面向商店部署的完整应用开发,提供完整的开发环境和工具。 | 适合学习、原型设计和实验。不推荐用于生产应用。 |
1
安装 expo-dev-client 库
要为开发构建初始化我们的项目,让我们在项目目录中 cd 并运行以下命令来安装库:
- npx expo install expo-dev-client启动开发服务器
运行 npx expo start 来启动 开发服务器:
- npx expo start该命令启动 metro 打包器。在终端窗口中,我们看到二维码,后面跟着 Metro waiting on... 和一个清单 URL:
我们来注意安装 expo-dev-client 库的变化:
- 清单 URL 包含了
expo-development-client以及应用程序方案 - 开发服务器现在针对开发构建(而不是 Expo Go)运行。
由于我们没有在其中一个设备或模拟器/仿真器上安装开发构建,因此我们还不能运行我们的项目。
2
初始化开发构建
安装 EAS CLI
我们需要在本地机器上作为全局依赖项安装 EAS 命令行界面(CLI)工具。运行以下命令:
- npm install -g eas-cli登录或注册 Expo 账户
如果您有 Expo 账户并通过 Expo CLI 登录,请跳过此步骤。如果您没有 Expo 账户,请 在这里注册 并继续执行下面的登录命令。
要登录,请运行以下命令:
- eas login该命令要求输入我们 Expo 账户的邮箱或用户名和密码以完成登录。
初始化并链接项目到 EAS
对于任何新项目,第一步是初始化并将其链接到 EAS 服务器。运行以下命令:
- eas init运行此命令时:
- 请求通过输入我们的 Expo 账户凭据验证账户所有者,并询问我们是否想要为 @your-username/sticker-smash 创建一个新 EAS 项目:
# 运行 eas init 后的输出✔ Which account should own this project? > your-username✔ Would you like to create a project for @your-username/sticker-smash? … yes✔ Created @your-username/sticker-smash✔ Project successfully linked (ID: XXXX-XX-XX-XXXX) (modified app.json)- 创建 EAS 项目,并提供我们可以在 EAS 仪表板中打开的项目链接:
- 生成唯一的
projectId并将该 EAS 项目链接到我们开发机器上的示例应用。 - 修改 app.json 以包含
extra.eas.projectId并用创建的唯一 ID 更新其值。
3
为 EAS Build 配置项目
要为 EAS Build 设置我们的项目,运行以下命令:
- eas build:configure运行该命令时:
- 提示选择一个平台:Android,iOS 或 全部。由于我们正在创建 Android 和 iOS 应用,所以选择 全部。
- 在项目目录的根部创建 eas.json,并进行以下配置:
{ "cli": { "version": ">= 16.18.0", "appVersionSource": "remote" }, "build": { "development": { "developmentClient": true, "distribution": "internal" }, "preview": { "distribution": "internal" }, "production": { "autoIncrement": true } }, "submit": { "production": {} } }
这是新项目中 eas.json 的默认配置。它完成两个任务:
- 定义当前的 EAS CLI 版本。
- 添加三个 构建配置文件:
development、preview和production。
进一步探索开发配置文件
eas.json 是不同构建配置文件的集合。每个配置文件均具有独特的配置,以生成特定的构建类型。这些配置文件还可以包括 Android 或 iOS 的平台特定设置。
目前,我们的重点是 development 配置文件,其中包括以下配置:
developmentClient:启用 (true) 以创建调试构建。它使用expo-dev-client库加载应用,提供开发工具并生成用于设备或模拟器/仿真器安装的构建工件,并允许在本地开发中使用该应用,因为它支持即时更新 JavaScript。distribution:配置为internal,以表明我们希望内部共享构建(而不是将其上传到应用商店)。
注意:构建提供广泛的自定义选项,包括平台特定设置,以及能够在不同的构建配置文件之间扩展配置。了解更多关于 自定义构建配置文件。
总结
第一章:配置云端开发构建
我们成功地使用 EAS CLI 初始化并配置了我们的项目,将其链接到 EAS 服务器,并准备了一个开发构建。
在下一章中,我们将为 Android 创建一个开发构建,在设备和模拟器上安装,并通过开发服务器运行它。