Чего я хочу достичь
Инкапсулированное приложение (редактор форм), которое я могу использовать внутри другого углового приложения, но также и в любом веб-приложении.
Идея
Основные модули / компоненты могут быть реализованы как угловая библиотека (основной компонент - shadow dom), поэтому я могу добавить обертку 'angular elements' для построения веб-компонента, но также могу импортировать саму библиотеку в виде пакета npm внутри моегосуществующее угловое приложение.Поэтому мое угловое приложение будет загружать не полный пакет javascript, а только модули, которые не предоставляются, но другое приложение, для повышения производительности и интеграции.
Проблема
Для каждого запроса из библиотеки я хочу, чтобы перехватчик http входил в систему / добавлял токен jwt в заголовок запроса.Когда я создаю приложение с оболочкой угловых элементов (ничего не делая, кроме импорта библиотеки и создания веб-компонента), все работает нормально.Когда я добавляю его в угловое приложение, перехватчик не работает должным образом, потому что другое приложение также имеет перехватчик.Я хочу инкапсулировать перехватчик библиотеки только в библиотеку.Поэтому я подумал, что мне просто нужно снова импортировать HttpClientModule в мою библиотеку и получить свой собственный экземпляр, чтобы определенный провайдер HTTP_INTERCEPTORS внутри того же файла знал, когда будет запущен.К сожалению, эта идея не работает, и оба мешают.
AppModule
- import:
- HttpClientModule (1)
- CustomLibraryModule
- провайдеры:
CustomLibraryModule
В лучшем случае я хочу импортировать CustomLibraryModule внутри лениво загруженного дочернего модуля моего приложения.
Вопрос
Я выбираю правильные инструменты дляэта ситуация?Знаете ли вы, что я делаю неправильно, чтобы получить мой инкапсулированный http-перехватчик?