我正在尝试使用另一个模块中定义的typeorm 自定义存储库。
按照文档:
如果您想在导入 TypeOrmModule.forFeature 的模块外部使用存储库,则需要重新导出由其生成的提供程序。您可以通过导出整个模块来做到这一点,如下所示:
@Module({
imports: [TypeOrmModule.forFeature([Role])],
exports: [TypeOrmModule]
})
export class RoleModule {}
Run Code Online (Sandbox Code Playgroud)
现在,如果我们在 UserHttpModule 中导入 UsersModule,我们就可以在后一个模块的提供者中使用 @InjectRepository(User) 。
就我而言,我这样做:
@Module({
imports: [RoleModule],
providers: [UsersService],
controllers: [UsersController]
})
export class UserModule {}
Run Code Online (Sandbox Code Playgroud)
现在当我注入角色存储库时
export class UserService {
constructor(@InjectRepository(Role) private roleRepository: Repository<Role>) {}
}
Run Code Online (Sandbox Code Playgroud)
我有一个错误:
Nest can't resolve dependencies of the UserService (?).
是我的问题还是文档不正确?有人可以建议这里的错误是什么或给出正确的示例吗?
尝试添加TypeOrmModule.forFeature([Role])到导入:
@Module({
imports: [TypeOrmModule.forFeature([Role]), RoleModule], // <-- here
providers: [UsersService],
controllers: [UsersController]
})
export class UserModule {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10532 次 |
| 最近记录: |