Kurs Angular · Moduł 3: Moduły

Lazy Loading - Oddziały na Żądanie

1 min czytania ·
W tej lekcji3

Lazy loading to technika ładowania modułów dopiero gdy są potrzebne - jak wysyłanie oddziałów dopiero gdy zajdzie potrzeba.

Konfiguracja Lazy Loading

// app-routing.module.ts
const routes: Routes = [
  { path: '', redirectTo: '/home', pathMatch: 'full' },
  { path: 'home', component: HomeComponent },

  // Lazy loaded modules
  {
    path: 'samurai',
    loadChildren: () => import('./features/samurai/samurai.module')
      .then(m => m.SamuraiModule)
  },
  {
    path: 'dojo',
    loadChildren: () => import('./features/dojo/dojo.module')
      .then(m => m.DojoModule)
  }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Routing w Feature Module

// features/samurai/samurai-routing.module.ts
const routes: Routes = [
  { path: '', component: SamuraiListComponent },
  { path: ':id', component: SamuraiDetailComponent },
  { path: ':id/edit', component: SamuraiFormComponent }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],  // forChild, nie forRoot!
  exports: [RouterModule]
})
export class SamuraiRoutingModule { }

Korzyści Lazy Loading

AspektBez Lazy LoadingZ Lazy Loading
Initial BundleCała aplikacjaTylko core + home
Czas ładowaniaDługiKrótki
PamięćWszystko od razuNa żądanie
UXDługie czekanieSzybki start

Widzisz błąd w tej lekcji?

Sprawdź się

Odpowiedz na pytania z tej lekcji. Wybierz odpowiedź, a od razu zobaczysz, czy jest poprawna.

  1. 1. Która składnia jest poprawna dla lazy loading modułu?

  2. 2. Jaką główną korzyść daje lazy loading modułów?

To 2 z 4 pytań do tej lekcji. Pozostałe rozwiążesz w grze.

Zadania praktyczne w grze

  • Edytor kodu

    Uzupełnij konfigurację routingu dla lazy loading modułu SamuraiModule.

  • Układanie w poziomie

    Ułóż początek lazy loading w jednej linii (do dynamicznego import):

  • Układanie w pionie

    Uporządkuj etapy lazy loadingu modułu po wejściu użytkownika na ścieżkę:

  • Klikanie w kolejności

    Kliknij elementy w kolejności, aby zbudować wywołanie: RouterModule.forChild(

Przydatne artykuły