我有一个导出DatabaseUserRepository的模块:
@Module({
imports: [TypeOrmConfigModule, TypeOrmModule.forFeature([Project, User])],
providers: [DatabaseProjectRepository, DatabaseUserRepository],
exports: [DatabaseProjectRepository, DatabaseUserRepository], // I'm explictely exporting DatabaseProjectRepository
})
export class RepositoriesModule {}
而另一个项目正试图将其注入自定义提供程序:
@Module({
imports: [LoggerModule, EnvironmentConfigModule, RepositoriesModule, ExceptionsModule],
})
export class ProjectUsecasesModule {
static GET_PROJECT_USECASE = 'getProjectUsecases';
static register(): DynamicModule {
return {
module: ProjectUsecasesModule,
imports: [RepositoriesModule], // And here I'm importing the module containing DatabaseProjectRepository
providers: [
{
inject: [DatabaseProjectRepository],
provide: ProjectUsecasesModule.GET_PROJECT_USECASE,
useFactory: (ProjectRepository: DatabaseProjectRepository) => new GetProjectUseCases(ProjectRepository), // And here nest complains it cannot find DatabaseProjectRepository
},
我在运行时遇到以下错误:
Nest无法解析getProjectUsecases(?)的依赖项。请确保索引[0]处的参数DatabaseProjectRepository在ProjectUsecasesModule上下文中可用。
这段代码过去在nest v7中工作,根本不需要导入RepositoriesModule(这肯定也不是预期的行为)。
有人知道是什么导致了我的问题吗?
1条答案
按热度按时间3mpgtkmj1#
我终于找到了问题所在。
在我的档案上面我写了
代替
不正确的大小写并没有阻止我的代码构建,但它在某种程度上扰乱了Nest模块的分辨率...!