当前设置 我正在使用具有以下结构的Angular 7.1.0-具有三个库项目的根或父应用程序,如下所示:
app (root)
|- corelib (project)
|- lib1 (project)
|- lib2 (project)
app
所示,它是带有库项目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
服务,并初始化标题,参数等,并成功完成了请求。
问题:
我的问题是与lib2
项目有关,该项目确实加载了默认组件,并且还在ngOnInit()方法中发出了http请求-但是它似乎根本无法访问我的HttpInterceptor
服务-我无法调试我在HttpInterceptor
中为该项目提供的corelib
服务。但是,似乎标题和参数已正确发送,并且我可以通过console.log
查看路径,参数和输出,并发现服务调用已成功完成。我正在尝试实现一个通用的叠加服务,以显示消息加载中……在加载我的http调用时。
我不明白为什么无法在lib2
项目中通过调试模式访问HttpInterceptor服务。
您能告诉我我在这里想念的吗?
任何帮助表示赞赏!
答案 0 :(得分:0)
更新:
我通过将HttpInterceptor
项目中的corelib
服务移到根app
项目中来解决了这个问题。