PrismaService 上的 Nestjs OnModuleInit 错误

Nestjs OnModuleInit error on PrismaService

我正在构建 Nestjs CRUD,但是当我启动服务器时,正在记录此错误:属性 'onModuleInit' 在类型 'PrismaService' 中缺失,但在类型 [=29 中需要=].

prisma.service.ts

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();
    });
  }
}

终端日志

    [09:36:16] Starting compilation in watch mode...

src/prisma/prisma.service.ts:5:14 - error TS2420: Class 'PrismaService' incorrectly implements interface 'OnModuleInit'.
  Property 'onModuleInit' is missing in type 'PrismaService' but required in type 'OnModuleInit'.

5 export class PrismaService extends PrismaClient implements OnModuleInit {
               ~~~~~~~~~~~~~

  node_modules/@nestjs/common/interfaces/hooks/on-init.interface.d.ts:9:5
    9     onModuleInit(): any;
          ~~~~~~~~~~~~~~~~~~~~
    'onModuleInit' is declared here.

[09:36:21] Found 1 error. Watching for file changes.

我正在关注 NestJS documentation

我错过了什么吗?

您的 OnModuleInit 方法需要 onModuleInit。 JavaScript区分大小写,所以OnModuleInitonModuleInit是两种不同的方法