基于文件的路由要求您遵循一些简单的文件命名约定,以确保正确生成路由。这些约定启用的概念在路由树和嵌套指南中有详细介绍。
| 功能 | 描述 |
|---|---|
| __root.tsx | 根路由文件必须命名为 __root.tsx 并且必须放置在配置的 routesDirectory 的根目录中。 |
| . 分隔符 | 路由可以使用 . 字符来表示嵌套路由。例如,blog.post 将作为 blog 的子路由生成。 |
| $ 标记 | 带有 $ 标记的路由段是参数化的,将从 URL 路径名中提取值作为路由 param。 |
| _ 前缀 | 带有 _ 前缀的路由段被视为无路径布局路由,在将其子路由与 URL 路径名匹配时不会被使用。 |
| _ 后缀 | 带有 _ 后缀的路由段将路由排除在任何父路由的嵌套之外。 |
| - 前缀 | 带有 - 前缀的文件和文件夹从路由树中排除。它们不会被添加到 routeTree.gen.ts 文件中,可用于在路由文件夹中共置逻辑。 |
| (folder) 文件夹名称模式 | 匹配此模式的文件夹被视为路由组,防止文件夹被包含在路由的 URL 路径中。 |
| index 标记 | 以 index 标记结尾的路由段(在任何文件扩展名之前)将在 URL 路径名完全匹配父路由时匹配父路由。这可以通过 indexToken 配置选项进行配置,请参阅选项。 |
| .route.tsx 文件类型 | 当使用目录来组织路由时,可以使用 route 后缀在目录路径处创建路由文件。例如,blog.post.route.tsx 或 blog/post/route.tsx 可以用作 /blog/post 路由的路由文件。这可以通过 routeToken 配置选项进行配置,请参阅选项。 |
💡 记住: 您项目的文件命名约定可能会受到配置的选项的影响。
动态路径参数可以在扁平路由和目录路由中使用,以创建可以匹配 URL 路径动态段的路由。动态路径参数在文件名中用 $ 字符表示:
| 文件名 | 路由路径 | 组件输出 |
|---|---|---|
| ... | ... | ... |
| ʦ posts.$postId.tsx | /posts/$postId | <Root><Posts><Post> |
我们将在路径参数指南中了解更多关于动态路径参数的信息。
无路径路由使用逻辑或组件包装子路由,而不需要 URL 路径。无路径路由在文件名中用 _ 字符表示:
| 文件名 | 路由路径 | 组件输出 |
|---|---|---|
| ʦ _app.tsx | ||
| ʦ _app.a.tsx | /a | <Root><App><A> |
| ʦ _app.b.tsx | /b | <Root><App><B> |
要了解更多关于无路径路由的信息,请参阅路由概念 - 无路径路由指南。