
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”?的详细内容,更多请关注米云网其它相关文章!
