
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,
) {}
// 业务逻辑
} 解决方式
- 移除 app.module.ts 中冗余的 providers 和 controllers 代码。
- 确保 bookentity 在 typeormmodule.forfeature 中被引用。
如此修改后,nest 便可以正确解析 bookservice 的依赖关系,消除错误提示。










