顶级 src 目录

编辑

了解如何在您的 Expo Router 项目中使用顶级 src 目录。


随着项目的发展,将所有包含应用程序代码的目录移动到一个单一的 src 目录中可能会很有帮助。Expo Router 开箱即用地支持这一点。

src
app
  _layout.tsx
  index.tsx
components
  button.tsx
package.json

只需将您的 app 目录移动到 src/app 并重启开发服务器。

Terminal
npx expo start

# 或导出到生产环境
npx expo export

注意

  • 配置文件(app.config.tsapp.jsonpackage.jsonmetro.config.jstsconfig.json)应保留在根目录中。
  • src/app 目录的优先级高于根 app 目录。如果您同时存在两者,则只会使用 src/app 目录。
  • public 目录应保留在根目录中。
  • 静态渲染将自动使用 src/app 目录(如果存在)。
  • 您可能会考虑更新任何 类型别名 以指向 src 目录,而不是根目录。

自定义目录

不推荐更改默认根目录。我们将不接受关于自定义根目录项目的错误报告。

您可以使用 Expo Router 配置插件危险地自定义根目录。以下将根目录更改为相对于项目根目录的 src/routes

app.json
{ "plugins": [ [ "expo-router", { "root": "./src/routes" } ] ] }

这可能会导致意外行为。许多工具假定根目录为 appsrc/app。只有在 Expo CLI 的确切版本中的工具才会尊重配置插件。