Предоставлено Root Services в демо-приложении - PullRequest
1 голос
/ 25 сентября 2019

Я занимаюсь разработкой библиотеки Angular6, которая будет использоваться в качестве основы для многих внутренних веб-сайтов.Он будет предоставлять в основном сервисы, но также будет предоставлять несколько компонентов.

Я хочу создать демонстрационное приложение для этой библиотеки, которое может демонстрировать различные способы использования сервисов, так же, как библиотека компонентовразличные способы использования компонентов.

Проблема в том, что эти службы были разработаны для предоставления в корне, что делает их одиночными в корне.Это затрудняет создание демонстрационного приложения, которое может отображать различные варианты поведения службы на разных маршрутах без жесткого перезапуска приложения в браузере.

Существует ли стратегия, которую я могу использовать, чтобы моя библиотека работала нормально при использованиив приложении (app.module), но быть в состоянии создать / уничтожить в демонстрационном приложении?

Если я создаю LibraryRootModule, а затем устанавливаю все, что должно быть предоставлено в LibraryRootModule, это поможет?Как AOT будет работать с этим?Я также обеспокоен тем, что сторонние зависимости, использующие обеспеченный в корне, могут не работать вместе с этой стратегией.

Любые идеи будут оценены.Спасибо.

1 Ответ

0 голосов
/ 25 сентября 2019

1) Возможно, вам следует использовать шаблон forRoot (): https://angular.io/guide/singleton-services#the-forroot-pattern;

2) Может быть, вам следует использовать другое приложение Angular на одном веб-сайте.И используйте инжектор платформы: https://blog.angularindepth.com/angular-dependency-injection-and-tree-shakeable-tokens-4588a8f70d5d

Надеюсь, это поможет!

...