在尝试减小应用程序的初始下载大小时,我一直试图将其分成模块。不过,我遇到了麻烦,因为我在路由匹配方面遇到了麻烦。
我创建了一个示例:
app / app-routing.module.ts
const routes: Routes = [
{ path: 'main', loadChildren: '../app/main/main.module#MainModule' }
];
app / main / main-routing.module.ts
const routes: Routes = [
{ path: 'secondary', loadChildren: '../../app/secondary/secondary.module#SecondaryModule' },
{ path: 'a/:id', component: AComponent }
];
app / secondary / secondary-routing.module.ts
const routes: Routes = [
{ path: 'a/:id', component: BComponent }
];
AComponent
在MainModule
的{{1}}和BComponent
中声明
现在,我希望表单的网址
SecondaryModule
将加载/main/secondary/a/someID
并显示SecondaryModule
,但显示BComponent
。延迟加载确实可以工作。
有趣的是,如果我通过移除AComponent
来更改路线,/:id
会给我一个无法匹配任何路线错误。