Вступить в клуб →
лёгкаявопросREST API на NestJS и Express

Nest can't resolve dependencies: провайдер не экспортирован из модуля

В приложении на NestJS два модуля:

@Module({
  controllers: [OrdersController],
  providers: [OrdersService],
})
export class OrdersModule {}

@Module({
  imports: [OrdersModule],
  providers: [BillingService],
})
export class BillingModule {}

BillingService принимает OrdersService в конструкторе. Приложение не поднимается с ошибкой вида «Nest can't resolve dependencies of the BillingService». В чём причина?

  • `OrdersService` не указан в `exports` модуля `OrdersModule`, поэтому вне своего модуля он недоступен
  • `OrdersService` нужно продублировать в `providers` модуля `BillingModule` — только так один сервис виден в двух местах
  • Не хватает импорта класса `OrdersService` в файле `BillingService` — контейнер ищет провайдера по имени файла
  • Модули импортированы циклически, и Nest не может определить порядок инициализации

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела