我正在尝试使用另一个模块中定义的 typeorm自定义存储库。
如果要在导入TypeOrmModule.forFeature的模块之外使用存储库,则需要重新导出由其生成的提供程序。您可以通过导出整个模块来做到这一点,就像这样:
@Module({
imports: [TypeOrmModule.forFeature([Role])],
exports: [TypeOrmModule]
})
export class RoleModule {}
现在,如果我们在UserHttpModule中导入UsersModule,则可以在后一个模块的提供程序中使用@InjectRepository(User)。
就我而言:
@Module({
imports: [RoleModule],
providers: [UsersService],
controllers: [UsersController]
})
export class UserModule {}
现在,当我注入角色存储库时
export class UserService {
constructor(@InjectRepository(Role) private roleRepository: Repository<Role>) {}
}
我有一个错误:
Nest can't resolve dependencies of the UserService (?).
是我还是文档不正确? 有人可以建议这里有什么错误或给出更正的示例吗?
答案 0 :(得分:1)
尝试将TypeOrmModule.forFeature([Role])
添加到导入中:
@Module({
imports: [TypeOrmModule.forFeature([Role]), RoleModule], // <-- here
providers: [UsersService],
controllers: [UsersController]
})
export class UserModule {}