手动安装
编辑页面
了解如何通过这些详细说明将 Expo Router 添加到现有项目中。
For the complete documentation index, see llms.txt. Use this file to discover all available pages.
如果你已经有一个现有项目,并且想添加 Expo Router,请按照以下步骤操作。对于新项目,请参阅介绍指南中的 快速开始。
1 requirement
1 requirement
设置你的开发环境
确保你的电脑已配置好用于运行 Expo 应用。
1
2
设置入口点
对于 main 属性,请在 package.json 中将其值设为 expo-router/entry。初始客户端文件是 src/app/_layout.tsx(如果未使用 src 目录,则为 app/_layout.tsx)。
package.json
{ "main": "expo-router/entry" }
自定义入口点以初始化并加载副作用
你可以在 Expo Router 项目中创建一个自定义入口点,在应用加载根布局(src/app/_layout.tsx)之前初始化并加载副作用。下面是一些常见的自定义入口点使用场景:
- 初始化全局服务,例如分析、错误报告等。
- 设置 polyfill
- 使用来自
react-native的LogBox忽略特定日志
-
在项目根目录下创建一个新文件,例如 index.js。创建此文件后,项目结构应如下所示:
srcapp_layout.tsxindex.jspackage.json其他项目文件 -
在文件中导入或添加你的自定义配置。然后,导入
expo-router/entry来注册应用入口。记住一定要最后导入它,以确保在应用渲染之前所有配置都已正确设置。index.js// 首先导入副作用和服务 // 初始化服务 // 通过 Expo Router 注册应用入口 import 'expo-router/entry'; -
更新 package.json 中的
main属性,使其指向新的入口文件。package.json{ "main": "index.js" }
3
4
5
配置路径别名
如果你正在使用 src 目录,请在 tsconfig.json 中添加路径别名,这样你就可以使用像 @/components/button 这样的简短导入路径,而不是相对路径:
tsconfig.json
{ "extends": "expo/tsconfig.base", "compilerOptions": { "strict": true, "paths": { "@/*": ["./src/*"] } }, "include": ["**/*.ts", "**/*.tsx", ".expo/types/**/*.ts", "expo-env.d.ts"] }
上面的示例中,@/* 别名映射到 src 目录。