如何在应用程序和依赖项之间共享服务?
这里有一些伪代码,但应该理解这一点。
module A imports service C (package says it is a dependency so it install it)
app Module B imports service C (to configure it)
我有一个临时修复程序,如下所示,但不喜欢它,因为有多个依赖项可能会实现服务c。
import {CService as OldCService} from 'c/node_modules/c';
import {CService} from 'c';
@NgModule({
declarations: [ ... ],
imports: [ ... ],
providers: [
{provide: OldCService, useClass: CService}
],
bootstrap: [AppComponent]
})
export class AppModule {
}
我能看到的唯一其他选择是使服务C为可选(成为对等依赖项)...但是,在将其在外部配置的forroot设置中使用时,我们遇到了可选的问题。