#8437·router

开始: Vite 插件和 `tsr generate` 分别生成不同的 routeTree.gen.ts (添加了开始脚注,然后删除)

作者: TheBinaryGuy创建于 2026年9月15日更新于 2026年9月15日
标签enhancement

这与哪个项目有关?

开始

描述错误

TanStack Start Vite插件和路由器CLI为同一项目撰写了不同的 " routeTree.gen.ts " 文件,由 " Tastack创建 " 船舶制作的脚手架则两者兼而有之。

启动插件( `@tastack/ start- plugin- core ) , “ start- router- plugin/ route- tree- footer.ts' ) 在生成的路由树上附加一个页脚 :

导入类型 { get Router } 从 './router.tsx' 导入 导入类型 {创建Start} 从“ @ tastack/ react- start” 开始 声明模块“ @ tanstack/ react- start” { 接口注册{ sr: 真实 路由器: 等待的 < returnType <type of get Router *} {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

bash

" tsr 生成 " ( " tanstack/router-cli " )不知道 " 启动 " ,没有它就写文件。 因此,每个`vite building'或`vite dev'都添加了这九行,每个`tsr 生成'都去掉它们。 在一个使用 " routeTree.gen.ts " 的项目中,文件翻转到任何最后运行的工具的每一行。

脚手架的`router.tsx'仍然带有`declare module'@tastack/react-router'{接口登记{路由器}},这掩盖了`router'登记的问题。 `sr:真实 ' 的登记没有这种倒退:在`tsr生成'之后,`registeredSsr'是`虚假'的,因此,可序列装填器-结果检查(`ValidateSerializableLifecycycleResult')悄悄地降为`任何',直到下一次Vite运行将脚放回。

* 完成最小复制器

https://GitHub.com/TheBinaryGuy/tanstack-start-tsr-footer-repro 互联网档案馆的存檔,存档日期2014-12-21. (未经修改的 " tanstack 创建 " 输出加上 " repro " 脚本; " bun s安装 && bun run repro " 显示每一步骤后的diff)。 在 StackBlitz 中打开:https://stackblintz.com/GitHub/TheBinaryGuy/tanstack-start-tsr-footer-repro

复制臭虫的步骤

嘘
npx @ tanstack/cli@latest 创建起动Ref -- 框架 反应 -- -- 包装 -- -- 管理包 -- -- 非互动 -- -- 无实例 -- -- 无工具链 -- -- 部署硝基
cd 启动Ref
git 添加 - A Qit 承诺 - qm 脚手架
bun 运行构建 # 启动插件: 路由 Tree. gen.ts 获得九行页脚
git diff -- stat src/ routeTree.gen.ts (中文(简体) ).
bun 运行生成路由 # 脚手架本身的 “ tsr 生成” 脚本: foller 再次被移除
git diff -- stat src/ routeTree.gen.ts (中文(简体) ).
bun 运行构建 # 添加页脚
git diff -- stat src/ routeTree.gen.ts (中文(简体) ).

观测数据为: " * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

预期行为

两台发电机都为一个Start项目生产相同的文件. “ tsr 生成” 读取“ 启动” 页脚( 例如, 当 QQtanstack/ react- start ” 出现时, 解决它的方式与插件一样) , 或者脚手架不会传送一个“ 基因- 路由” 脚本, 来抵消它自己所写的脚本, 而路由器 CLI 文件 则说它不是用于“ 启动” 项目 。

+++ 平台

  • OS: macOS 27.0(装甲64)
  • 1.4.0舱,节点24
  • 视频7

其他背景

路由器 CLI 安装 Docs 已经表示要使用 CLI , “只有在您没有使用 . . . . . . .

内容来源: TanStack/router