Nest 中 TypeOrm 的正确使用:为什么会出现“Nest can\’t resolve dependencies of the BookService”?
哈喽!大家好,很高兴又见面了,我是主机宝贝的一名作者,今天由我给大家带来一篇,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
nest 中 typeorm 的正确使用
在使用 nest 时,出现错误消息“nest can’t resolve dependencies of the bookservice”,提示 bookentityrepository 没有在 appmodule 中注册。以下是解决方法:
代码示例
app.module.ts:
@module({ imports: [ typeormmodule.forroot({ // 数据库配置 }), bookmodule, ] }) export class appmodule {}
book.module.ts:
@module({ imports: [typeormmodule.forfeature([bookentity])], controllers: [bookcontroller], providers: [bookservice], exports: [bookservice] }) export class bookmodule {}
book.service.ts:
import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; export class BookService { constructor( @InjectRepository(BookEntity) private readonly bookRepository: Repository<BookEntity>, ) {} // 业务逻辑 }
解决方式
- 移除 app.module.ts 中冗余的 providers 和 controllers 代码。
- 确保 bookentity 在 typeormmodule.forfeature 中被引用。
如此修改后,nest 便可以正确解析 bookservice 的依赖关系,消除错误提示。
到这里,我们也就讲完了《Nest 中 TypeOrm 的正确使用:为什么会出现“Nest can\’t resolve dependencies of the BookService”?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注主机宝贝公众号,带你了解更多关于的知识点!