Aplikasi web moden tidak lagi bergantung pada satu pakej JavaScript yang besar. Penyelidikan menunjukkan bahawa pakej yang lebih besar meningkatkan penggunaan memori dan beban CPU, terutamanya pada peranti mudah alih rendah dan pertengahan. Webpack menyediakan pelbagai ciri untuk mengurangkan saiz pakej dan mengendalikan keutamaan pemuatan sumber, yang paling penting ialah segmentasi kod dan petunjuk prestasi. Segmentasi kod membahagikan kod ke dalam pelbagai pakej, memuatkan permintaan atau selari; Petua prestasi mengesan sama ada saiz pakej melebihi ambang yang ditentukan semasa membina, untuk mengoptimumkan atau memadam kod yang tidak perlu.
Webpack Secara lalai, amaran dikeluarkan apabila saiz sumber atau titik masuk melebihi 250kb (244kib), tetapi anda boleh mengkonfigurasi bagaimana dan saiz ambang saiz arahan yang dipaparkan melalui objek performance
dalam fail webpack.config.js
. Artikel ini akan menerangkan cara menggunakan ciri ini sebagai barisan pertahanan pertama untuk mencegah kemerosotan prestasi.
Sesuaikan bajet anda
Sumber lalai dan ambang saiz titik masuk mungkin tidak selalu sesuai dengan keperluan anda, tetapi boleh dikonfigurasikan. Sebagai contoh, blog kecil mungkin mempunyai anggaran 50kb (48.8kib) setiap sumber dan titik masuk. Tetapan yang berkaitan dalam webpack.config.js
adalah seperti berikut:
modul.exports = { prestasi: { MaxAssetSize: 50000, MaxentryPointSize: 50000, } };
Ciri -ciri maxAssetSize
dan maxEntrypointSize
mengawal saiz ambang (dalam bait) sumber dan titik masuk. maxEntrypointSize
memastikan bahawa pakej yang dibuat dari fail yang disenaraikan dalam objek entry
(biasanya fail JavaScript atau SASS) tidak melebihi ambang yang ditentukan; maxAssetSize
menguatkuasakan sekatan yang sama pada sumber lain yang dihasilkan oleh Webpack (seperti imej, fon, dll.).
Ralat muncul apabila ambang melebihi
Webpack mengeluarkan amaran apabila ambang belanjawan dilampaui secara lalai. Ini cukup untuk persekitaran pembangunan, tetapi bukan untuk persekitaran pengeluaran. Anda boleh mencetuskan ralat dengan menambahkan harta hints
ke objek performance
dan menetapkannya kepada 'error'
:
modul.exports = { prestasi: { MaxAssetSize: 50000, MaxentryPointSize: 50000, Petua: 'Ralat', } };
Nilai yang sah untuk atribut hints
adalah 'warning'
dan false
. false
akan mematikan sepenuhnya amaran, walaupun had yang ditentukan melebihi. Ia tidak disyorkan untuk menggunakan false
dalam mod pengeluaran.
Tidak termasuk sumber tertentu
Webpack menguatkuasakan ambang saiz untuk setiap jenis sumber yang dihasilkannya. Jika sebarang sumber melebihi had yang ditentukan, ralat akan dibuang. Sebagai contoh, jika Webpack dikonfigurasi untuk memproses imej, ralat akan berlaku selagi salah satu imej melebihi ambang.
Harta assetFilter
boleh digunakan untuk mengawal fail yang digunakan untuk mengira petunjuk prestasi:
modul.exports = { prestasi: { MaxAssetSize: 50000, MaxentryPointSize: 50000, Petua: 'Ralat', AssetFilter: fungsi (assetFileName) { kembali! AssetFileName.endSwith ('. jpg'); }, } };
Ini memberitahu Webpack untuk mengecualikan sebarang fail yang berakhir dalam .jpg
apabila menjalankan pengiraan promosi prestasi. Ia boleh menggunakan logik yang lebih kompleks untuk memenuhi syarat pelbagai persekitaran, jenis fail, dan sumber lain.
had
Satu batasan semasa ialah ambang belanjawan yang sama berlaku untuk semua sumber dan titik masuk. Dalam erti kata lain, pelbagai belanjawan belum ditetapkan seperti yang diperlukan, seperti menetapkan sekatan yang berbeza untuk fail JavaScript, CSS, dan imej. Walau bagaimanapun, sudah ada permintaan tarik terbuka yang harus menghapuskan sekatan ini.
Meringkaskan
Ia berguna untuk menubuhkan dan menguatkuasakan belanjawan prestasi pada permulaan projek. Ia akan mengingatkan anda untuk memberi perhatian kepada saiz kebergantungan anda dan menggalakkan anda mencari alternatif yang lebih ringan untuk mengelakkan lebih daripada anggaran.
Tetapi anggaran prestasi tidak berhenti di sana! Saiz sumber adalah salah satu daripada banyak faktor yang mempengaruhi prestasi, jadi lebih banyak kerja masih diperlukan untuk memastikan pengalaman terbaik disediakan. Ujian Running Lighthouse adalah cara terbaik untuk memahami metrik dan cadangan lain untuk penambahbaikan.
Atas ialah kandungan terperinci Menguatkuasakan belanjawan prestasi dengan webpack. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Terdapat tiga cara untuk secara selektif memasukkan CSS pada halaman tertentu: 1. Inline CSS, sesuai untuk halaman yang tidak sering diakses atau memerlukan gaya unik; 2. Muatkan fail CSS luaran menggunakan keadaan JavaScript, sesuai untuk situasi di mana fleksibiliti diperlukan; 3. Pembendungan di sebelah pelayan, sesuai untuk senario menggunakan bahasa sisi pelayan. Pendekatan ini dapat mengoptimumkan prestasi laman web dan penyelenggaraan, tetapi memerlukan keseimbangan modularitas dan prestasi.

Flexboxisidealforone-dimensiallayouts, whilgridsuitstwo-dimensi, complexlayouts.useflexboxforaligningitemsinasingleaxisandgridforprecisecontroloverrowsandcolumnsinintricatedesigns.

Atribut HTML Popover mengubah elemen ke dalam elemen lapisan atas yang boleh dibuka dan ditutup dengan butang atau JavaScript. Popovers boleh dibuang beberapa cara, tetapi tidak ada pilihan untuk menutupnya secara automatik. Preethi mempunyai teknik yang anda boleh

CSS Blok halaman yang diberikan kerana pelayar melihat CSS dalam talian dan luaran sebagai sumber utama secara lalai, terutamanya dengan stylesheet yang diimport, header sejumlah besar CSS sebaris, dan gaya pertanyaan media yang tidak dapat dioptimumkan. 1. Ekstrak CSS kritikal dan membenamkannya ke HTML; 2. Kelewatan memuatkan CSS bukan kritikal melalui JavaScript; 3. Gunakan atribut media untuk mengoptimumkan pemuatan seperti gaya cetak; 4. Memampatkan dan menggabungkan CSS untuk mengurangkan permintaan. Adalah disyorkan untuk menggunakan alat untuk mengekstrak CSS utama, menggabungkan REL = "Preload" pemuatan asynchronous, dan menggunakan media yang ditangguhkan dengan munasabah untuk mengelakkan pemisahan yang berlebihan dan kawalan skrip kompleks.

Dalam tutorial berikut, saya akan menunjukkan kepada anda cara membuat animasi Lottie di Figma. Kami akan menggunakan dua reka bentuk yang berwarna -warni untuk memperlihatkan bagaimana anda boleh menghidupkan di Figma, dan kemudian saya akan menunjukkan kepada anda bagaimana untuk pergi dari Figma ke animasi Lottie. Yang anda perlukan hanyalah ara percuma

Kami meletakkannya pada ujian dan ternyata SASS boleh menggantikan JavaScript, sekurang-kurangnya ketika datang ke logik dan tingkah laku teka-teki peringkat rendah. Dengan apa -apa tetapi peta, campuran, fungsi, dan banyak matematik, kami berjaya membawa teka -teki Tangram kami ke kehidupan, tidak J

Thebestapproachforcssdependonstantheproject'ssspecificneeds.forlargerprojects, externalcssisbetterduetomaintainabilityability;

Tidak, cssdoesnothavetobeinlowercase.however, menggunakanLowerCaseisRecommendorfendfor: 1) Consistencyandreadability, 2) Mengelakkaningerrorsinrelatedtechnologies, 3) potensiformanceBenefits, dan4) peningkatan yang lebih baik.
