文件命名约定

基于文件的路由要求您遵循一些简单的文件命名约定,以确保路由正确生成。这些约定所支持的概念在 路由树和嵌套 指南中有详细介绍。

特性描述
__root.tsx根路由文件必须命名为 __root.tsx,并且必须放置在配置的 routesDirectory 的根目录中。
. 分隔符路由可以使用 . 字符来表示嵌套路由。例如,blog.post 将生成为 blog 的子路由。
$ 令牌带有 $ 令牌的路由段是参数化的,它们会从 URL 路径中提取值作为路由 param
_ 前缀带有 _ 前缀的路由段被视为无路径布局路由,在将其子路由与 URL 路径匹配时不会被使用。
_ 后缀带有 _ 后缀的路由段会排除该路由被嵌套到任何父路由下。
- 前缀带有 - 前缀的文件和文件夹将被排除在路由树之外。它们不会被添加到 routeTree.gen.ts 文件中,可用于将逻辑与路由文件夹放在一起。
(folder) 文件夹名称模式符合此模式的文件夹被视为一个**路由组**,它会阻止该文件夹被包含在路由的 URL 路径中。
[x] 转义方括号用于转义文件名中具有路由意义的特殊字符。例如,script[.]js.tsx 会被解析为 /script.js,而 api[.]v1.tsx 会被解析为 /api.v1
index 令牌index 令牌结尾的路由段(在任何文件扩展名之前)会在 URL 路径完全匹配父路由时匹配父路由。这可以通过 indexToken 配置选项进行配置,请参阅 选项
.route.tsx 文件类型在使用目录组织路由时,route 后缀可用于在目录路径下创建路由文件。例如,blog.post.route.tsxblog/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>

要了解更多关于无路径路由的信息,请参阅 路由概念 - 无路径路由 指南。

我们的合作伙伴
Code Rabbit
Netlify
Neon
Clerk
Convex
Sentry
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。