The trick is:
- do not import/export/provide the DataService from ANY module (including app.module)
- just import the ConsumingService from app.module
DataService implements onModuleInit
fetch countries, docTypes, etc
DataModule:
providers: [DataService],
exports: [DataService]
FirstConsumerService
constructor(private readonly dependency: DataService) { }
FirstConsumerModule
imports: [DataModule],
providers: [FirstConsumerService]
AppModule
imports: [FirstConsumerModule]