TanStack Router 的基于文件的路由非常灵活,可以配置以适应您项目的需求。
以下选项可用于配置基于文件的路由:
Warning
不要将 routeFilePrefix、routeFileIgnorePrefix 或 routeFileIgnorePattern 选项设置为与文件命名约定指南中使用的任何标记匹配,否则您可能会遇到意外行为。
这是路由文件所在目录的路径,相对于 cwd(当前工作目录)。
默认情况下,该值设置为以下内容,不能设置为空 string 或 undefined。
./src/routes
./src/routes
这是生成的路由树将保存到的文件路径,相对于 cwd(当前工作目录)。
默认情况下,该值设置为以下内容,不能设置为空 string 或 undefined。
./src/routeTree.gen.ts
./src/routeTree.gen.ts
如果 disableTypes 设置为 true,生成的路由树将以 .js 扩展名而不是 .ts 扩展名保存。
此选项用于配置虚拟文件路由功能。有关更多信息,请参阅"虚拟文件路由"指南。
默认情况下,此值设置为 undefined。
此选项用于忽略路由目录中的特定文件和目录。如果您想要"选择性加入"某些不希望被考虑用于路由的文件或目录,这会很有用。
默认情况下,此值设置为 -。
使用此选项时,它允许您拥有这样的结构,让您可以将不是路由文件的相关文件放在一起:
src/routes
├── posts
│ ├── -components // Ignored
│ │ ├── Post.tsx
│ ├── index.tsx
│ ├── route.tsx
src/routes
├── posts
│ ├── -components // Ignored
│ │ ├── Post.tsx
│ ├── index.tsx
│ ├── route.tsx
此选项用于忽略路由目录中的特定文件和目录。它可以使用正则表达式格式。例如,.((css|const).ts)|test-page 将忽略名称包含 .css.ts、.const.ts 或 test-page 的文件/目录。
默认情况下,此值设置为 undefined。
此选项用于识别路由目录中的路由文件。这意味着只有以此前缀开头的文件才会被考虑用于路由。
默认情况下,此值设置为 ``,因此路由目录中的所有文件都将被考虑用于路由。
如路由概念指南中所述,布局路由在指定路径处渲染,子路由在布局路由内渲染。routeToken 用于识别路由目录中的布局路由文件。
默认情况下,此值设置为 route。
🧠 以下文件名将等于相同的运行时 URL:
src/routes/posts.tsx -> /posts
src/routes/posts.route.tsx -> /posts
src/routes/posts/route.tsx -> /posts
src/routes/posts.tsx -> /posts
src/routes/posts.route.tsx -> /posts
src/routes/posts/route.tsx -> /posts
如路由概念指南��所述,索引路由是当 URL 路径与父路由完全相同时匹配的路由。indexToken 用于识别路由目录中的索引路由文件。
默认情况下,此值设置为 index。
🧠 以下文件名将等于相同的运行时 URL:
src/routes/posts.index.tsx -> /posts/
src/routes/posts/index.tsx -> /posts/
src/routes/posts.index.tsx -> /posts/
src/routes/posts/index.tsx -> /posts/
当生成路由树以及首次创建新路由时,这些文件将使用您在此处指定的引号样式进行格式化。
默认情况下,此值设置为 single。
Tip
您应该从 linter 和格式化程序中忽略生成的路由树文件的路径,以避免冲突。
当生成路由树以及首次创建新路由时,如果此选项设置为 true,这些文件将使用分号进行格式化。
默认情况下,此值设置为 false。
Tip
您应该从 linter 和格式化程序中忽略生成的路由树文件的路径,以避免冲突。
此功能仅在您使用 TanStack Router 打包器插件时可用。
此选项用于为非关键路由配置项启用自动代码分割。有关更多信息,请参阅"自动代码分割"指南。
默认情况下,此值设置为 false。
Important
TanStack Router 的下一个主要版本(即 v2)将默认此值为 true。
此选项用于禁用为路由树生成类型。
如果设置为 true,生成的路由树将不包含任何类型,并将写入为 .js 文件而不是 .ts 文件。
默认情况下,此值设置为 false。
此选项将文件扩展名添加到生成的路由树中的路由名称。
默认情况下,此值设置为 false。
此选项关闭路由生成过程的控制台日志记录。
默认情况下,此值设置为 false。
此选项允许您在生成的路由树文件的开头添加内容。
默认情况下,此值设置为:
[
"/* eslint-disable */",
"// @ts-nocheck",
"// noinspection JSUnusedGlobalSymbols"
]
[
"/* eslint-disable */",
"// @ts-nocheck",
"// noinspection JSUnusedGlobalSymbols"
]
此选项允许您在生成的路由树文件的末尾添加内容。
默认情况下,此值设置为:
[]
[]
此选项启用生成的路由树文件的格式化功能,对于大型项目来说可能会很耗时。
默认情况下,此值设置为 true。
原子文件写入(路由文件和生成的路由树文件)通过首先创建临时文件然后将其重命名到实际位置来实现。
此配置选项允许配置用于创建这些临时文件的临时目录路径。 如果是相对路径,它将解析为当前工作目录。 如果未设置此值,将使用 process.env.TSR_TMP_DIR。 如果 process.env.TSR_TMP_DIR 未设置,它将默认为相对于当前工作目录的 .tanstack/tmp。