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 не может определить порядок инициализации
