框架
版本

文件命名约定

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

特性描述
__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

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