You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

T3-OSS最新版本导入router报错的问题咨询

解决T3-OSS中导入router报错的问题

问题根源

最新版本的T3栈调整了trpc.ts的结构,router不再是直接导出的独立成员,而是通过initTRPC创建的实例(即你的trpc.ts里的t对象)提供的方法。

两种解决方式

方式一:在trpc.ts中导出router

打开你的trpc.ts文件,在现有导出的代码末尾添加一行,把t.router作为顶层导出:

export const router = t.router;

添加后,你原来的导入语句import { router, publicProcedure, protectedProcedure } from "../trpc";就能正常识别router了。

方式二:直接使用t实例定义路由

如果不想修改trpc.ts,可以在路由文件中直接导入t实例,用t.router来定义路由:

import { t, publicProcedure, protectedProcedure } from "../trpc";

// 示例路由定义
export const yourRouter = t.router({
  getPublicData: publicProcedure.query(() => {
    return "公开数据";
  }),
  getProtectedData: protectedProcedure.query(() => {
    return "仅授权用户可见的数据";
  })
});

router在T3中的具体位置

在最新版T3栈里,router是initTRPC.context().create()生成的实例(也就是trpc.ts里的t变量)的内置方法,你需要通过这个实例来访问它——要么把它导出到trpc.ts的顶层,要么直接导入t实例使用。

内容的提问来源于stack exchange,提问作者mxcdh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:10:26