Latihan 1 dari materi Lazy Loading Angular di Angular — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Starter-nya sudah punya import { Routes } from '@angular/router' dan export const routes: Routes = []. Biarkan keduanya, lalu isi array itu dengan satu rute:
path: 'admin'.
loadComponent diisi fungsi panah yang memanggil import('./admin/admin.component'), lalu mengambil class-nya dengan .then(m => m.AdminComponent).
Jangan tulis import { AdminComponent } ... di atas file. File ./admin/admin.component gak ada di editor; import() di dalam fungsi gak pernah dipanggil karena gak ada yang membuka /admin, jadi gak ada error.
Yang dicek:
Kodenya memuat loadComponent dan import(.
path: 'admin' dan loadComponent: ada di rute yang sama.
loadComponent: diisi fungsi panah yang langsung memanggil import(.
Class-nya diambil dari hasil import(): .then(m => m.AdminComponent).
Hint
Lazy loading menunda pengambilan kode komponen sampai rutenya dibuka, jadi rutenya gak menunjuk class secara langsung lewat component.
Rute admin diberi loadComponent berisi fungsi panah. Di dalamnya dynamic import, import('./admin/admin.component'), yang mengembalikan Promise berisi modul, lalu .then mengambil class AdminComponent dari modul itu.