包依赖性与项目依赖性不同

时间:2018-09-10 07:12:26

标签: angular ng-packagr

我正在用angular6和ng-packagr构建角度包

我创建了带有angular-cli的项目,添加了用于本地测试的库和应用程序。一切正常,然后我开始将我的软件包集成到实际项目中

我的包使用@ ngrx / store。它像往常一样连接到各处

constructor(private store: Store<any>) {}

但是,当我开始我的真实项目时,我从软件包组件中看到no providers for Store错误。但是商店被注入了。 看来我的软件包使用的@ ngrx / store与我的基本应用程序不同。因此注入令牌有所不同,并且找不到Store,

我已经通过这种方式解决了

软件包:constructor(@Inject(STORE_TOKEN) private store: Store<any>) {}

app:providers: [{provide: STORE_TOKEN, useExisting: Store}]

所以我使用中间令牌并为在DI容器中存储创建别名 但是问题是我的程序包还使用了许多其他依赖项,现在我必须为所有这些依赖项创建中间令牌。

可以通过其他方式解决吗?我可以以某种方式构建我的程序包,它将从我的应用程序依赖项中使用@ ngrx / Store(和其他程序包)吗?

0 个答案:

没有答案