首页指南参考教程

create-expo-app

用于创建新 Expo 和 React Native 项目的命令行工具。


create-expo-app 是一个命令行工具,用于创建和设置新的 Expo 和 React Native 项目。此工具通过提供各种模板简化了初始化过程,无需手动配置即可快速启动。

¥create-expo-app is a command-line tool to create and set up a new Expo and React Native project. This tool simplifies the initialization process by providing various templates to get started quickly without the need for manual configuration.

创建新项目

¥Create a new project

要创建新项目,请运行以下命令:

¥To create a new project, run the following command:

Terminal
npx create-expo-app@latest
Terminal
yarn create expo-app
Terminal
pnpm create expo-app
Terminal
bun create expo

运行上述命令将提示你输入项目的应用名称。此应用名称也用于应用配置的 name 属性。

¥Running the above command will prompt you to enter the app name of your project. This app name is also used in the app config's name property.

Terminal
What is your app named? my-app

选项

¥Options

使用以下选项自定义命令行为。

¥Uses the following options to customize the command behavior.

--yes

使用默认选项创建新项目。

¥Uses the default options to create a new project.

--no-install

跳过安装 npm 依赖或 CocoaPods。

¥Skips installing npm dependencies or CocoaPods.

--template

使用 Node 包管理器 运行 create-expo-app 会使用默认模板初始化并设置新的 Expo 项目。

¥Running create-expo-app with a Node Package Manager initializes and sets up a new Expo project using the default template.

你可以使用 --template 选项选择以下模板之一,或将其作为参数传递给选项。例如,--template default

¥You can use the --template option to select one of the following templates or pass it as an argument to the option. For example, --template default.

模板描述
default默认模板。旨在构建多屏应用。包括推荐的工具,例如 Expo CLI、Expo Router 库和启用的 TypeScript 配置。适用于大多数应用。
blank安装所需的最低 npm 依赖而无需配置导航。
blank-typescript启用 TypeScript 的空白模板。
tabs在启用 Expo Router 和 TypeScript 的情况下安装和配置基于文件的路由。
bare-minimum生成了原生目录(android 和 ios)的空白模板。在设置期间运行 npx expo prebuild

--example

使用此选项使用来自 expo/examples 的示例初始化项目。

¥Use this option to initialize a project using an example from expo/examples.

例如,运行 npx create-expo-app --example with-router 将设置一个带有 Expo Router 库的项目。

¥For example, running npx create-expo-app --example with-router will set up a project with Expo Router library.

--version

打印版本号并退出。

¥Prints the version number and exits.

--help

打印可用选项列表并退出。

¥Prints the list of available options and exits.

节点包管理器支持

¥Node Package Managers support

使用 create-expo-app 创建新项目还可以设置特定 Node 包管理器所需的其他配置。

¥Creating a new project with create-expo-app also handles setting up additional configuration needed for a specific Node Package Manager.

如果你正在从一个包管理器迁移到另一个包管理器,则必须在项目中手动执行其他配置。如果你使用的是 EAS,你还必须手动配置项目以执行任何其他必需步骤。

¥If you are migrating from one package manager to another, you've to manually carry out the additional configuration in your project. If you are using EAS, you also have to configure your project for any additional required steps manually.

每个包管理器的所有其他步骤都列在下面。

¥All the additional steps for each package manager are listed below.

npm

本地安装

¥Local installation

npm 作为 Node.js 安装的一部分安装。有关安装说明,请参阅 Node.js 文档

¥npm is installed as part of Node.js installation. See Node.js documentation for installation instructions.

EAS 安装

¥EAS installation

如果项目目录包含 package-lock.json,则默认支持。

¥Supported by default if the project directory contains package-lock.json.

Yarn 1(经典)

¥Yarn 1 (Classic)

本地安装

¥Local installation

Yarn 1(Classic)通常作为 npm 的全局依赖安装。有关安装说明,请参阅 Yarn 1 文档

¥Yarn 1 (Classic) is usually installed as a global dependency of npm. See Yarn 1 documentation for installation instructions.

EAS 安装

¥EAS installation

如果项目目录包含 yarn.lock,则默认支持。

¥Supported by default if the project directory contains yarn.lock.

Yarn 2+ (Modern)

本地安装

¥Local installation

有关安装说明,请参阅 Yarn 文档

¥See Yarn documentation for installation instructions.

Yarn 2+ 处理包管理的方式与 Yarn 1 不同。Yarn 2+ 中的核心更改之一是 Pug'n'Play (PnP) 节点链接模型不适用于 React Native。

¥Yarn 2+ handles package management differently than Yarn 1. One of the core changes in Yarn 2+ is the Pug'n'Play (PnP) node linking model that does not work with React Native.

默认情况下,使用 create-expo-app 和 Yarn 2+ 创建的项目使用 nodeLinker 并将其值设置为 node-modules 来安装依赖。

¥By default, a project created with create-expo-app and Yarn 2+ uses nodeLinker with its value set to node-modules to install dependencies.

.yarnrc.yml
nodeLinker: node-modules

EAS 安装

¥EAS installation

EAS 上的 Yarn Modern 需要添加 eas-build-pre-install。在你的项目的 package.json 中,添加以下配置:

¥Yarn Modern on EAS requires requires adding eas-build-pre-install hook. In your project's package.json, add the following configuration:

package.json
{
  "scripts": {
    "eas-build-pre-install": "corepack enable && yarn set version 4"
  }
}

pnpm

本地安装

¥Local installation

需要安装 Node.js。有关安装说明,请参阅 生产模式

¥Requires installing Node.js. See pnpm documentation for installation instructions.

默认情况下,使用 create-expo-app 和 pnpm 创建的项目使用 node-linker 并将其值设置为 hoisted 来安装依赖。

¥By default, a project created with create-expo-app and pnpm uses node-linker with its value set to hoisted to install dependencies.

.npmrc
node-linker=hoisted

EAS 安装

¥EAS installation

如果项目目录包含 pnpm-lock.yaml,则默认支持。

¥Supported by default if the project directory contains pnpm-lock.yaml.

Bun

有关使用 bun 创建新 Expo 项目、从其他包管理器迁移以及使用 EAS 的详细信息,请参阅 Bun 指南。

¥See Bun guide for details on creating a new Expo project with bun, migration from another package manager, and usage with EAS.

Expo 中文网 - 粤ICP备13048890号