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
相关产品推荐
相关产品推荐

