Tanstack Router 文件命名速查表

1. 基础与嵌套 (Basic Structure)

符号 / 规则 作用 文件名示例 对应 URL / 效果 核心逻辑
__root.tsx 根组件 src/routes/__root.tsx 全局 整个应用的入口外壳 (HTML/Body)。
. (点) 嵌套层级 blog.post.tsx /blog/post 用点代替文件夹,扁平化写法。
index 默认页 posts.index.tsx /posts 父级路径的"首页" (精确匹配时显示)。
route.tsx 目录布局 settings/route.tsx /settings 等同于 settings.tsx,文件夹模式下的父级布局。

2. 动态参数 (Dynamic Params)

符号 / 规则 作用 文件名示例 对应 URL / 效果 核心逻辑
$ 变量/参数 posts.$id.tsx /posts/123 /posts/abc $ 后的单词变为参数名 (如 params.id)。
$ (单独) 通配符 (Splat) files.$.tsx /files/a/b/c 贪婪匹配后面所有的路径片段。

3. 布局与组织 (Layouts & Organization)

符号 / 规则 作用 文件名示例 对应 URL / 效果 核心逻辑
_ (前缀) 无路径布局 _auth.login.tsx /login 影响 URL,只套用 _auth.tsx 的布局组件。
(xxx) 路由组 (app)/dashboard.tsx /dashboard 完全透明,仅用于文件夹分类 (如把管理端页面归类)。
- (前缀) 忽略文件 -components/Nav.tsx (无) 生成路由,可放组件、工具函数等。

4. 特殊处理 (Advanced)

符号 / 规则 作用 文件名示例 对应 URL / 效果 核心逻辑
_ (后缀) 非嵌套路由 posts_.$id.edit.tsx /posts/123/edit 逃离 父级 posts.tsx 的布局,独立全屏渲染。
[ ] 转义字符 abc[.]def.tsx /abc.def 强制保留文件名中的点,不被解析为嵌套。

⚡️ 一眼看懂对比

为了加深印象,这几个容易混淆的用法我单独列出来对比:

  • posts.tsx 🆚 posts/route.tsx

    • 效果一样 :都定义 /posts 这个层级的布局(父级)。

    • 区别:前者是扁平文件,后者是目录文件。

  • posts/index.tsx 🆚 posts.tsx

    • posts.tsx :是 (Layout),不管去 /posts 还是 /posts/123 都在。

    • posts/index.tsx :是内容 ,只有访问 /posts 时才在框里显示。

  • _layout.a.tsx 🆚 layout.a.tsx

    • _layout.a.tsx (前缀 _):URL 是 /a (布局名隐身)。

    • layout.a.tsx (无前缀):URL 是 /layout/a (布局名是路径一部分)。

相关推荐
于慨15 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
石小石Orz15 小时前
油猴脚本实现生产环境加载本地qiankun子应用
前端·架构
从前慢丶15 小时前
前端交互规范(Web 端)
前端
CHU72903515 小时前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序
GISer_Jing16 小时前
Page-agent MCP结构
前端·人工智能
王霸天16 小时前
💥别再抄网上的Scale缩放代码了!50行源码教你写一个永不翻车的大屏适配
前端·vue.js·数据可视化
小领航16 小时前
用 Three.js + Vue 3 打造炫酷的 3D 行政地图可视化组件
前端·github
@大迁世界16 小时前
2026年React大洗牌:React Hooks 将迎来重大升级
前端·javascript·react.js·前端框架·ecmascript
PieroPc16 小时前
一个功能强大的 Web 端标签设计和打印工具,支持服务器端直接打印到局域网打印机。Fastapi + html
前端·html·fastapi
悟空瞎说16 小时前
深入 Vue3 响应式:为什么有的要加.value,有的不用?从设计到源码彻底讲透
前端·vue.js