Я внедряю 3 службы в моем контроллере: одна объявлена в качестве поставщика внутри модуля контроллера (AnswerModule), 2 другие службы объявлены в других модулях (QuizesModule и QuestionsModule). Я импортирую эти модули в AnswerModule. Здесь ошибка
Error: Nest can't resolve dependencies of the AnswersController (AnswersService, ?, QuestionsService). Please make sure that the argument QuizesService at index [1] is available in the AnswersModule context.
Potential solutions:
- If QuizesService is a provider, is it part of the current AnswersModule?
- If QuizesService is exported from a separate @Module, is that module imported within AnswersModule?
@Module({
imports: [ /* the Module containing QuizesService */ ]
})
Вот модули: QuizesModule
@Module({
imports: [ AuthModule,
MongooseModule.forFeature([{ name: 'Quiz', schema: QuizSchema }]),
],
controllers: [QuizesController],
providers: [QuizesService],
})
export class QuizesModule {}
QuestionsModule:
@Module({
imports: [QuizesModule, MongooseModule.forFeature([{ name: 'Question', schema: QuestionSchema }])],
controllers: [QuestionsController],
providers: [QuestionsService],
exports: [QuizesModule]
})
export class QuestionsModule {}
AnswerModule
@Module({
imports: [QuizesModule, QuestionsModule, MongooseModule.forFeature([{ name: 'Answer', schema: AnswerSchema }])],
controllers: [AnswersController],
providers: [AnswersService,]
})
export class AnswersModule {}
Stacktrace:
Error: Nest can't resolve dependencies of the AnswersController (AnswersService, ?, QuestionsService). Please make sure that the argument QuizesService at index [1] is available in the AnswersModule context.
Potential solutions:
- If QuizesService is a provider, is it part of the current AnswersModule?
- If QuizesService is exported from a separate @Module, is that module imported within AnswersModule?
@Module({
imports: [ /* the Module containing QuizesService */ ]
})
at Injector.lookupComponentInParentModules (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/injector.js:191:19)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async Injector.resolveComponentInstance (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/injector.js:147:33)
at async resolveParam (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/injector.js:101:38)
at async Promise.all (index 1)
at async Injector.resolveConstructorParams (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/injector.js:116:27)
at async Injector.loadInstance (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/injector.js:80:9)
at async Injector.loadController (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/injector.js:28:9)
at async Promise.all (index 0)
at async InstanceLoader.createInstancesOfControllers (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/instance-loader.js:51:9)
at async /Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/instance-loader.js:29:13
at async Promise.all (index 12)
at async InstanceLoader.createInstances (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/instance-loader.js:26:9)
at async InstanceLoader.createInstancesOfDependencies (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/injector/instance-loader.js:16:9)
at async /Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/nest-factory.js:81:17
at async Function.asyncRun (/Users/laurent/Projects/perso/nestjs-elearning/node_modules/@nestjs/core/errors/exceptions-zone.js:17:13)
Спасибо за вашу помощь, я не понимаю, мои настройки в модулях кажутся правильными
Laurent