Gabung sumber: Kurangkan bilangan permintaan dengan menggabungkan fail CSS dan JavaScript.
Sumber sebaris: Untuk CSS dan JavaScript yang kecil, selaraskannya terus ke dalam HTML.
Konfigurasi sisi pelayan, mampatkan sumber teks dan kurangkan volum penghantaran.
Gunakan pengepala cache HTTP, seperti Cache-Control, untuk menetapkan strategi cache yang sesuai.
Hanya muatkan sumber apabila mereka hendak memasuki port pandangan, sesuai untuk imej dan video, dsb.
<img src="placeholder.jpg" data-src="real-image.jpg" alt="Pemahaman mendalam tentang pengoptimuman prestasi bahagian hadapan: daripada rangkaian kepada pemaparan" > <h4> Preloading and prefetching </h4> <p>Use <link rel="preload"> to load critical resources in advance.<br> Use <link rel="prefetch"> to prefetch non-critical resources.</p> <h3> 3. Rendering optimization </h3> <h4> Critical CSS </h4> <p>Inline the CSS required for the first screen rendering in the HTML head to avoid blocking rendering.</p> <h4> Reduce CSS and JavaScript blocking </h4>
<script async src="script.js"></script>
if ('serviceWorker' in navigator) { window.addEventListener('load', () => { navigator.serviceWorker .register('/sw.js') .then(registration => console.log('SW registered:', registration)) .catch(error => console.error('SW registration failed:', error)); }); }
Gunakan import dinamik (ungkapan import()) untuk memuatkan blok kod atas permintaan dan mengurangkan masa pemuatan awal.
button.onclick = async () => { const module = await import('./lazyModule.js'); module.default(); };
Dalam aplikasi SPA, gunakan fungsi pemisahan kod peringkat laluan yang disediakan oleh rangka kerja, seperti pemuatan malas Vue Router.
// Vue Router example const Foo = () => import('./Foo.vue'); const routes = [ { path: '/foo', component: Foo }, ];
Gunakan
<picture> <source srcset="img/low-res.jpg" media="(max-width: 600px)"> <source srcset="img/high-res.jpg" media="(min-width: 600px)"> <img src="img/fallback.jpg" alt="Pemahaman mendalam tentang pengoptimuman prestasi bahagian hadapan: daripada rangkaian kepada pemaparan"> </source></source></picture>
Alihkan tugas pengkomputeran yang memakan masa kepada Pekerja Web untuk mengelak daripada menyekat urutan utama dan memastikan UI responsif.
// main.js const worker = new Worker('worker.js'); worker.postMessage([1024, 512]); // worker.js self.onmessage = function(e) { const result = e.data[0] * e.data[1]; self.postMessage(result); };
Kerap bersihkan pemasa yang tidak digunakan, pendengar acara dan struktur data yang besar untuk mengelakkan kebocoran memori.
<img src="placeholder.jpg" data-src="real-image.jpg" alt="Pemahaman mendalam tentang pengoptimuman prestasi bahagian hadapan: daripada rangkaian kepada pemaparan" > <h4> Preloading and prefetching </h4> <p>Use <link rel="preload"> to load critical resources in advance.<br> Use <link rel="prefetch"> to prefetch non-critical resources.</p> <h3> 3. Rendering optimization </h3> <h4> Critical CSS </h4> <p>Inline the CSS required for the first screen rendering in the HTML head to avoid blocking rendering.</p> <h4> Reduce CSS and JavaScript blocking </h4>
<script async src="script.js"></script>
Fokus pada metrik Web Vitals seperti LCP (cat kandungan terbesar), FID (kelewatan input pertama) dan CLS (anjakan reka letak terkumpul), yang merupakan penunjuk utama untuk mengukur pengalaman pengguna.
if ('serviceWorker' in navigator) { window.addEventListener('load', () => { navigator.serviceWorker .register('/sw.js') .then(registration => console.log('SW registered:', registration)) .catch(error => console.error('SW registration failed:', error)); }); }
Atas ialah kandungan terperinci Pemahaman mendalam tentang pengoptimuman prestasi bahagian hadapan: daripada rangkaian kepada pemaparan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!