Digital Transformation
modulepreload (link rel="modulepreload")
TL;DR: modulepreload adalah tag HTML yang memberi tahu browser untuk mengambil dan parsing ES Module lebih awal sebelum benar-benar dieksekusi. Berbeda dengan preload biasa, modulepreload juga memparsing dependency tree sehingga eksekusi modul utama bisa langsung jalan tanpa delay tambahan.
Apa itu modulepreload?
modulepreload adalah resource hint berupa elemen <link rel="modulepreload" href="..."> yang dimasukkan di head HTML untuk memuat ES Modules lebih awal. Fungsinya melengkapi <link rel="preload"> yang hanya mengambil resource tanpa parsing. Untuk aplikasi modern berbasis API di Next.js atau Vite, modulepreload signifikan karena chain dependency modul bisa kompleks dan parsing sequential.
Cara Kerja Detail
Browser melakukan tiga langkah saat menemui modulepreload, lebih banyak dari preload biasa.
| Langkah | Aksi |
|---|---|
| Fetch | Download file modul JavaScript |
| Parse | Parsing kode dan dependency tree |
| Cache | Simpan di module map browser |
Saat modul tersebut dipanggil via import, eksekusi langsung jalan tanpa delay fetch atau parse. Ini berbeda dengan prefetch yang priority rendah dan hanya untuk navigasi berikutnya.
Kenapa Penting?
Untuk Next.js dengan App Router yang banyak memakai dynamic imports, modulepreload bisa pangkas Time to Interactive 100 sampai 300 ms di koneksi 4G Indonesia rata-rata. Dalam audit performa yang saya jalankan di proyek e-commerce klien, dashboard admin yang memakai modulepreload untuk chunk kritis menunjukkan peningkatan INP sekitar 18 persen dibandingkan tanpa hint. Web.dev merekomendasikan modulepreload untuk chunk yang pasti dipakai pengguna dalam interaksi pertama.
Pertanyaan Umum
Apa beda modulepreload dengan preload?
preload hanya mengambil file tanpa parsing, sementara modulepreload juga parsing dan menyimpan di module map, lebih cepat saat eksekusi modul.
Kapan tidak boleh pakai modulepreload?
Jangan pakai untuk modul yang belum tentu dipakai, karena buang bandwidth. Pakai hanya untuk modul kritis di critical path.
Istilah Terkait