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

Nestjs中PrismaService实现OnModuleInit接口报错如何解决?

问题原因

  • TypeScript 大小写敏感,你实现的方法名首字母拼写错误:OnModuleInit 是你实现的接口名称,该接口强制要求类内部必须实现小写o开头的onModuleInit()方法,你当前代码中写的是大写O开头的OnModuleInit(),不满足接口实现要求,触发类型校验报错。

修正后代码

import { INestApplication, Injectable, OnModuleInit } from "@nestjs/common";
import { PrismaClient } from "@prisma/client";

@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
  // 仅修改方法名首字母为小写即可
  async onModuleInit() {
    await this.$connect();
  }

  async enableShutdownHooks(app: INestApplication) {
    this.$on("beforeExit", async () => {
      await app.close();
    });
  }
}

修改完成后重新启动服务即可正常编译。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:39:03