Noman Aslam
Noman Aslam

Reputation: 1

Dependency Injection Error in NestJS When Cross-Importing Services Between Modules

in my "SiteModule" i am importing "SiteSettingsModule" and in "SiteSettingsModule" i am also importing "siteModule" .

@Module({
  controllers: [SiteController],
  providers: [SiteService],
  exports: [SiteService],
  imports: [
    forwardRef(() => SiteSettingsModule)
  ],
})
export class SiteModule {}
@Module({
 providers: [SiteSettingsService],
 controllers: [SiteSettingsController],
 exports: [SiteSettingsService],
 imports: [forwardRef (() => SiteModule)], 
})
 export class SiteSettingsModule {} 

i am using "SiteService" inside "SiteSettings" service and that is working fine.

@Injectable()
export class SiteSettingsService {
  constructor(
    private siteService: SiteService,
  ) {}
}

the error occurs when i use the "SiteSettingsService" inside "SiteService"

 @Injectable()
export class SiteService {
  constructor(
     private siteSettingsService : SiteSettingsService,
     @Inject(forwardRef(() => SiteSettingsService)) private siteSettingsService : SiteSettingsService
  ) {}
}

every time i use "SiteSettingsService" inside "SiteService" ("i tried by both mentioned methods") the following error occurs

ERROR [ExceptionHandler] Nest can't resolve dependencies of the SiteSettingsService (PrismaService, ?). Please make sure that the argument dependency at index [1] is available in the SiteSettingsModule context.

Potential solutions:
- Is SiteSettingsModule a valid NestJS module?
- If dependency is a provider, is it part of the current SiteSettingsModule?
- If dependency is exported from a separate @Module, is that module imported within SiteSettingsModule?
  @Module({
    imports: [ /* the Module containing dependency */ ]
  })

Upvotes: 0

Views: 26

Answers (0)

Related Questions