Вы можете использовать фабрику и вернуть ноль в случае сбоя условия следующим образом:
import { NgModule, ModuleWithProviders, Injector } from '@angular/core';
import { CoreModuleOptions } from './core.module-options';
import { CoreService } from './core.service';
export function coreServiceFactory(injector: Injector, options: CoreModuleOptions){
return options.condition ? new CoreService() : null;
}
@NgModule({
})
export class CoreModule {
static forRoot(config?: CoreModuleOptions): ModuleWithProviders {
return {
ngModule: CoreModule,
providers: [
{
provide: CoreModuleOptions,
useValue: config
},
{
provide: CoreService,
useFactory: coreServiceFactory,
deps:[ Injector, CoreModuleOptions]
}
]
};
}
}