我在 NestJs 中遇到了循环依赖问题。错误:
Scope [AppModule -> PlanModule -> TaskModule] +17ms
Error: Nest cannot create the UserModule instance.
The module at index [1] of the UserModule "imports" array is undefined.
我试过的:
@Inject(forwardRef(() => TaskService))
private readonly tasksService: TaskService
onModuleInit() {
this.userService = this.moduleRef.get(UserService);
}
import { TaskModule } from '../task/task.module';
用户模块
@Module({
providers: [UserService, UserResolver],
exports: [UserService],
imports: [JournalModule, PlanModule, TaskModule],
})
export class UserModule {}
任务模块
@Module({
providers: [TaskService, TaskResolver],
exports: [TaskService],
imports: [UserModule],
})
export class TaskModule {}
计划模块
@Module({
providers: [PlanService, PlanResolver, GoalResolver],
imports: [TaskModule, ProgramModule],
exports: [PlanService],
})
export class PlanModule {}
您UserModule
导入TaskModule
和TaskModule
导入UserModule
,因此您需要为这些模块导入以及服务注入设置前向引用。它看起来像这样:
用户模块.ts
@Module({
providers: [UserService, UserResolver],
exports: [UserService],
imports: [JournalModule, PlanModule, forwardref(() => TaskModule)],
})
export class UserModule {}
任务.module.ts
@Module({
providers: [TaskService, TaskResolver],
exports: [TaskService],
imports: [forwardRef(() => UserModule)],
})
export class TaskModule {}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句