Pemisahan Kode dan Pemuatan Malas
Pisahkan bundel JavaScript besar menjadi potongan sesuai permintaan dengan impor dinamis dan pemisahan berbasis rute, sehingga pengguna hanya mengunduh kode yang benar-benar diperlukan.
Pemisahan Kode dan Pemuatan Malas adalah pelajaran Web Performance Optimization & Lighthouse gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Web Performance Optimization & Lighthouse, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Web Performance Optimization & Lighthouse mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
The Monolithic Bundle Problem
Shipping all JavaScript in one bundle forces users to download code for pages they may never visit. Code splitting breaks the bundle into smaller chunks loaded only when needed.
Dynamic import()
The dynamic import() expression returns a promise and tells bundlers to create a separate chunk. The module loads on demand at runtime.
button.addEventListener('click', async () => {
const { renderChart } = await import('./chart.js');
renderChart();
});Route-Based Splitting
The most impactful split is per route: each page becomes its own chunk, so the initial load contains only the landing route.
const Dashboard = React.lazy(() => import('./pages/Dashboard'));Suspense Fallbacks
While a lazy chunk loads, show a fallback so the UI stays responsive. In React this is Suspense; other frameworks have equivalents.
<Suspense fallback={<Spinner />}>
<Dashboard />
</Suspense>Component-Level Splitting
Heavy widgets like rich text editors, maps, or charts can be split too, loading only when the user opens that feature rather than on first paint.
Vendor Splitting
Separating third-party libraries into a vendor chunk lets it cache independently. App code changes frequently; vendor code rarely does, so users re-download less.
Prefetching Chunks
Lazy loading can add a delay when the user navigates. Prefetch the chunk during idle time, for example on link hover, so it is ready before the click.
link.addEventListener('mouseenter', () => import('./pages/Settings'));Avoiding Over-Splitting
Too many tiny chunks create request overhead and waterfalls. Aim for meaningful boundaries (routes, big features), not splitting every small function.
Tree Shaking Synergy
Code splitting pairs with tree shaking: use ES module imports and import only what you need so dead code never enters any chunk.
import { debounce } from 'lodash-es'; // only debounce is bundledMeasuring the Result
Use a bundle analyzer to inspect chunk sizes and the Coverage tab in DevTools to find unused code shipped on initial load. Lighthouse flags large unused JS.
Strategy Summary
- Split by route first.
- Lazy-load heavy components.
- Separate vendor chunks for caching.
- Prefetch likely-next chunks during idle.
Quick Check
Which JavaScript feature tells bundlers to create a separate chunk loaded on demand?
Recap
You learned to shrink initial payload with code splitting: dynamic import(), route- and component-level lazy loading, vendor chunking, idle prefetching, and tree shaking. Split at meaningful boundaries and measure with a bundle analyzer.
Belajar Web Performance Optimization & Lighthouse dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pemisahan Kode dan Pemuatan Malas” gratis?
Ya — teks lengkap “Pemisahan Kode dan Pemuatan Malas” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Web Performance Optimization & Lighthouse, upgrade ke CoddyKit PRO. Kursus Web Performance Optimization & Lighthouse mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pemisahan Kode dan Pemuatan Malas”?
Pisahkan bundel JavaScript besar menjadi potongan sesuai permintaan dengan impor dinamis dan pemisahan berbasis rute, sehingga pengguna hanya mengunduh kode yang benar-benar diperlukan. Kamu berlatih Web Performance Optimization & Lighthouse dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Web Performance Optimization & Lighthouse?
Tidak diperlukan pengalaman sebelumnya. Web Performance Optimization & Lighthouse di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Pemisahan Kode dan Pemuatan Malas” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Web Performance Optimization & Lighthouse ini?
Ya. Setiap pelajaran Web Performance Optimization & Lighthouse menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Meminimalkan Muatan JavaScript
- Strategi Pemuatan Skrip yang Efisien
- Web Workers dan Thread Utama
- Pemisahan Kode dan Pemuatan Malas