tanstack/react-router中createLazyFileRoute报string转never类型错误求助
解决TanStack React Router中createLazyFileRoute的类型错误
问题本质
这个类型错误是因为缺少路由代码生成步骤导致的。TanStack Router依赖自动生成的类型文件来校验路由路径的合法性,未生成类型时,createLazyFileRoute的路径参数会被推断为never,自然无法匹配传入的字符串路径。
解决步骤
安装代码生成工具
确保已安装@tanstack/router-cli开发依赖:npm install -D @tanstack/router-cli配置生成脚本
在package.json中添加路由生成命令:{ "scripts": { "router:gen": "tanstack-router-cli generate", "dev": "npm run router:gen && 你的开发启动命令" // 把生成命令和开发命令绑定,每次启动自动生成 } }配置TypeScript路径
在tsconfig.json的include数组中添加生成的类型文件路径:{ "include": [ "./src/**/*", "./.tanstack/router.ts" ] }执行生成命令
手动运行一次生成命令,或者启动开发服务自动触发:npm run router:gen刷新VSCode类型检查
生成.tanstack/router.ts文件后,重启VSCode或保存文件触发类型检查刷新,错误即可消失。
补充说明
官方快速开始文档默认你了解代码生成的必要性,所以未展开说明,但这是TypeScript环境下使用TanStack Router的核心前置步骤。后续修改或新增路由文件后,都需要重新执行生成命令来更新类型定义。
内容的提问来源于stack exchange,提问作者hoangfin
相关产品推荐
相关产品推荐

