Angular 7 HttpInterceptor не работает из проекта библиотеки - PullRequest
0 голосов
/ 02 января 2019

Текущая настройка Я использую Angular 7.1.0 со следующей структурой - корневое или родительское приложение с тремя проектами библиотеки, как показано ниже:

app (root)
 |- corelib (project)
 |- lib1 (project)
 |- lib2 (project)
  • Как показано app является корневым угловым проектом с проектами библиотек corelib, lib1 и lib2.
  • Проект corelib содержит весь общий код и включен в качестве зависимости как для проектов lib1, так и для lib2.
  • app имеет собственный модуль маршрутизации для загрузки компонентов в проектах lib1 и lib2.,
  • Обратите внимание, что проект corelib не содержит маршрутизации.Однако он содержит сервис HttpInterceptor.
  • Проект lib1 в настоящее время не требует маршрутизации и в основном используется в качестве панели мониторинга.В качестве зависимости используется corelib.
  • Проект lib2 (в качестве зависимости используется corelib) требует маршрутизации и ленивой загрузки маршрутов через loadChildren(), как показано ниже (выдержка из app-routing.module.ts).

const routes: Routes = [
    { path: '', redirectTo: 'some/path1', pathMatch: 'full' },
    { path: 'some/path1', component: Lib1FirstComponent },
    { path: 'some/path1/path2', loadChildren: () => Lib2Module }
];

Когда я запускаю свой проект, по умолчанию загружается app.component во время запуска - загружается Lib1FirstComponent - он вызывает http, чтобы показать некоторые данные JSON.Он работает нормально - он вызывает службу HttpInterceptor в corelib, инициализирует заголовки, параметры и т. Д. И успешно завершает запрос.

Проблема: Моя проблема связана с *Проект 1050 *, который загружает компонент по умолчанию, а также делает запрос http в методе ngOnInit () - однако он, похоже, вообще не обращается к моей службе HttpInterceptor - я не могу отладить свою службу HttpInterceptor в corelib дляэтот проект.Однако кажется, что заголовки и параметры отправляются правильно, и я могу просмотреть путь, параметры и вывод с помощью console.log и обнаружить, что вызов службы завершен успешно.Я пытаюсь реализовать общий сервис наложения, чтобы показать загрузку сообщений ... во время загрузки моих http-вызовов.Я не понимаю, почему я не могу получить доступ к своей службе HttpInterceptor через режим отладки в моем lib2 проекте.Можете ли вы дать мне знать, что мне здесь не хватает?Любая помощь приветствуется!

1 Ответ

0 голосов
/ 02 января 2019

Обновление: Я решил эту проблему, переместив мой HttpInterceptor сервис из моего corelib проекта в корневой app проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...