Угловая библиотека с мостом к различным библиотекам компонентов пользовательского интерфейса - PullRequest
0 голосов
/ 16 ноября 2018

Я заинтересован в создании моей библиотеки Angular Starter с набором предопределенных компонентов с моими общими практиками.

Например, компонент с подпиской на события маршрутизатора и блокировкой пользовательского интерфейса. Другой пример - система модальных окон на основе маршрутов.

Но я хочу сохранить библиотечный код независимым от библиотек компонентов пользовательского интерфейса.

Например, я хочу, чтобы у меня была библиотека для запуска приложений и два компонента моста для Angular Material и PrimeNG.

В моем идеальном мире с пони я вижу следующее использование моей библиотеки:

@NgModule({
   imports: [
      MyBestAngularStarter.withUILibBridge(MaterialComponentsBridge)
   ]
})
export class AppModule {}

Таким образом, я буду использовать «абстрактные» компоненты в MyBestAngularStarter и буду определять их в каждой «мостовой» библиотеке.

Но это невозможно с современной архитектурой Angular. Каждый модуль должен неявно определять все импортируемые компоненты.

Существует способ инвертировать логику и импортировать стартер в каждом мосту, но таким образом каждый мост может определять собственный API, отличный от других. Это не хорошо. Цель состоит в том, чтобы пользовательский API оставался общим для всех мостов.

Может кто-нибудь дать мне несколько идей, как мне достичь своих целей?

...