Я строю угловой пакет с 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>) {}
приложение: providers: [{provide: STORE_TOKEN, useExisting: Store}]
поэтому я использую промежуточный токен и создаю псевдоним для Store в DI-контейнере
Но проблема в том, что мой пакет использует множество других зависимостей, и теперь мне нужно создать такой промежуточный токен для всех них.
Можно ли это исправить по-другому? Могу ли я как-то собрать свой пакет, и он будет использовать @ ngrx / Store (и другие пакеты) из зависимостей моего приложения?