创建你的第一个应用
编辑页面
在本章中,学习如何创建一个新的 Expo 项目。
For the complete documentation index, see llms.txt. Use this file to discover all available pages.
在本章中,让我们学习如何创建一个新的 Expo 项目,以及如何让它运行起来。

从零开始创建一个新的 Expo 项目,并让它在 Android、iOS 和 web 上运行。
4 requirements
4 requirements
1.
在一台实体的 Android 或 iOS 设备上安装 Expo Go。
2.
在你的电脑上安装 Node.js(LTS 版本)。
3.
安装 VS Code 或任何你偏好的代码编辑器或 IDE。
4.
一台 macOS、Linux 或 Windows(PowerShell 和 WSL2)设备,并打开一个终端窗口。
本教程假设你已经熟悉 TypeScript 和 React。如果你还不熟悉,请查看 TypeScript 手册 和 React 官方教程。
1
初始化一个新的 Expo 应用
我们将使用 create-expo-app 来初始化一个新的 Expo 应用。它是一个用于创建新的 React Native 项目的命令行工具。在你的终端中运行以下命令:
# 创建一个名为 StickerSmash 的项目- npx create-expo-app@latest StickerSmash# CLI 会提示你选择一个模板。请选择 SDK 54。- Select an Expo SDK version > SDK 54# 进入项目目录- cd StickerSmashcreate-expo-app@latest目前会要求你选择一个 Expo SDK 模板。本教程是为 SDK 54 设计的,所以请务必选择 SDK 54 模板。
这个命令会使用 SDK 54 的默认模板 创建一个名为 StickerSmash 的新项目目录。这个模板包含构建应用所需的基本样板代码和库,包括 Expo Router,并允许我们在已安装 Expo Go 的设备上测试应用。我们会在本教程中根据需要继续添加更多库。
2
下载资源
在本教程中,我们会一直使用这些资源。
下载压缩包后:
- 解压压缩包,并替换 your-project-name/assets/images 目录中的默认资源。
- 在代码编辑器或 IDE 中打开项目目录。
3
4
在移动设备和 web 上运行应用
在项目目录中,从终端运行以下命令以启动 开发服务器:
- npx expo start运行上面的命令后:
- 开发服务器将启动,你会在终端窗口中看到一个二维码。
- 扫描该二维码以在设备上打开应用。在 Android 上,使用 Expo Go > Scan QR code 选项。在 iOS 上,使用默认相机应用。
- 要运行 web 应用,请在终端中按 W。它会在默认的 web 浏览器中打开该应用。
当它在所有平台上都运行起来后,应用应该看起来像这样:
5
编辑 index 屏幕
app/index.tsx 文件定义了应用屏幕上显示的文本。它是我们应用的入口点,并会在开发服务器启动时执行。它使用 React Native 的核心组件,例如 <View> 和 <Text>,来显示背景和文本。
应用于这些组件的样式使用 JavaScript 对象,而不是 web 上使用的 CSS。不过,如果你以前在 web 上使用过 CSS,其中很多属性会让你觉得熟悉。大多数 React Native 组件都接受一个 style 属性,其值是一个 JavaScript 对象。更多细节请参阅 React Native 中的样式。
让我们修改 app/index.tsx 屏幕:
- 从
react-native导入StyleSheet,并创建一个styles对象来定义我们的自定义样式。 - 为
<View>添加一个styles.container.backgroundColor属性,值为#25292e。这会改变背景颜色。 - 将
<Text>的默认值替换为 "Home screen"。 - 为
<Text>添加一个styles.text.color属性,值为#fff(白色),以更改文本颜色。
import { Text, View, StyleSheet } from 'react-native'; export default function Index() { return ( <View style={styles.container}> <Text style={styles.text}>Home screen</Text> </View> ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#25292e', alignItems: 'center', justifyContent: 'center', }, text: { color: '#fff', }, });
React Native 使用与 web 相同的颜色格式。它支持十六进制三元组(这就是
#fff的形式)、rgba、hsl,以及命名颜色,例如red、green、blue、peru和papayawhip。更多信息请参阅 React Native 中的颜色。
当你保存更改后,它们会被发送并应用到连接到开发服务器的正在运行的应用中:
总结
Chapter 1: Create your first app
我们已经成功创建了一个新的 Expo 项目,使用了 React Native 核心组件,并准备好开发我们的 StickerSmash 应用。
在下一章中,我们将学习如何为应用添加堆栈导航和标签导航。