我有一个多模块应用程序。路由在模块中被称为模块,就像它们是惰性模块(loadChildren: 'path/to/module#Module'
)一样,但实际上它是急切的-此语法仅用于实现更好的隔离路由结构。
实际上,当直接使用模块的.forRoot(config)
导入模块时,立即中断了延迟加载。为了提供API密钥以及其他取决于环境(国家/地区)的信息,必须进行配置。
现在假设其中一个名为AbcModule
的模块具有如下本地路由
export const abcRoutes: Routes = [
{
path: '',
pathMatch: 'prefix', // or 'full' - doesn't really make diff
component: AbcPageComponent,
},
];
并在主app-routing.module.ts
中这样称呼:
[
{
path: '',
loadChildren: 'app/home/home.module#HomeModule',
},
// ... more routes
{
path: 'abc',
loadChildren: 'path/to/abc.module#AbcModule',
}
]
现在的问题是,RouterModule
在引导过程中收集路由时,会拾取2条带有空路径的单独路由。具有讽刺意味的是,属于AbcModule
的那个占了上风(我清楚地由console.log(this.router.config)
看到了),并且AbcPageComponent
呈现在HomeModule
布局之外(结果:没有菜单,侧边栏等) )
主要问题:
其他问题:
Angular 4.1.x