Par défaut, Angular télécharge toute votre application lorsque l'utilisateur arrive sur votre site. Avec le Lazy Loading, on ne télécharge une page (ou une section) que lorsque l'utilisateur décide d'y aller. Résultat : une application beaucoup plus rapide au démarrage !
Au lieu d'utiliser un simple component, on utilise loadChildren avec un import. Angular comprendra qu'il ne doit pas charger ce fichier tout de suite.
export const routes: Routes = [
// ... autres routes ...
{
path: 'admin',
// On télécharge le fichier admin.routes.ts uniquement si on va sur /admin
loadChildren: () => import('./admin/admin.routes').then(m => m.routes)
}
];Ce fichier contient toutes les routes spécifiques à la section admin. Il sera téléchargé à la demande.
import { Routes } from '@angular/router';
import { AdminComponent } from './admin.component';
export const routes: Routes = [
{
path: '', // Correspond à "/admin"
component: AdminComponent
}
];C'est un composant Angular tout à fait normal. Il n'a même pas besoin de savoir qu'il est chargé en Lazy Loading !
import { Component } from '@angular/core';
@Component({
selector: 'app-admin',
template: `<h2>Bienvenue dans l'espace d'administration secret !</h2>`
})
export class AdminComponent {}loadComponent à la place de loadChildren pour un chargement encore plus direct !