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

TypeScript转译JS后使用Typegoose遇User.email类型无效错误求助

Typegoose转译JS后"User.email"类型无效(undefined)错误解决

错误详情

Error: "User.email" 的类型无效!类型为:"undefined" [E009]

报错堆栈

at getModelForClass (/Users/user/Documents//node_modules/@typegoose/typegoose/src/typegoose.ts:89:58)
at Object.<anonymous> (/Users/user/Documents//dist/model/user.model.js:193:49)

修复方案

  • 检查TS转译配置:打开tsconfig.json,确认emitDecoratorMetadata设为true。Typegoose依赖装饰器元数据识别类型,转译时没开这个选项会直接丢失类型信息,导致报错。
  • 确认装饰器参数完整性:原TS代码里的@prop装饰器,要确保转译后的JS中type参数没被错误移除。比如原代码@prop({ type: String }) email?: string;,转译后得保留type配置。
  • 升级Typegoose版本:如果用的是旧版Typegoose,可能对JS转译后的语法支持有问题,换成最新稳定版试试。
  • 显式指定属性类型:要是元数据还是识别失败,就在@prop里手动指定类型,写成@prop({ type: () => String }) email?: string;,避免转译后类型丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:50:23