Vous pouvez réaliser cela avec la fonctionnalité de chargement différé de RouterModule.
Configurer votre application.le module.ts comme suit. L' loadChildren
-propriété doit pointer vers la destination du module et après le hachage doit être le nom du module.
const routes: Routes = [
{
path: 'landing-page',
loadChildren: './landing-page/landing-page.module#LandingPageModule'
},
{
path: 'another-page',
loadChildren: './another-page/another-page.module#AnotherPageModule'
}
];
@NgModule({
declarations: [
AppComponent
],
imports: [
RouterModule.forRoot(routes),
...
],
providers: [ ... ],
bootstrap: [AppComponent]
})
export class AppModule { }
Placez le routeur-prise de courant à l'intérieur de votre code html si ce n'est déjà fait:
<router-outlet></router-outlet>
Puis configurer votre page-modules suivants:
const routes: Routes = [
{ path: '', component: LandingPageComponent },
...
];
@NgModule({
imports: [
RouterModule.forChild(routes),
...
],
declarations: [ ... ],
providers: [ ... ]
})
export class LandingPageModule { }
Cela produit un morceau pour chaque module. Dans mon projet, il ressemble à ceci:
Et quand j'ai ouvert mon site, je ne le requred morceaux pour la page en cours sera chargé: