JavaScript Minifier
Tampal JavaScript untuk mengecilkannya dengan Terser: kod mati dibuang, nama dipendekkan dan ruang putih hilang. Ralat sintaks menunjukkan baris dan lajur yang tepat.
Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik
Cara menggunakan JavaScript Minifier
- Tampal JavaScript anda atau buka fail
.js. - Pilih pilihan: Kaburkan nama memendekkan pemboleh ubah setempat, Mampatkan menulis semula kod kepada setara yang lebih kecil, Modul ES membolehkan
import/exportperingkat atas. - Pilih sasaran ECMAScript yang disokong oleh pelayar pengguna anda. ES2020 selamat untuk semua pelayar evergreen.
- Semak saiz, penjimatan dan anggaran gzip di bawah output.
- Salin kod yang di-minify atau muat turunnya sebagai
output.min.js.
Apakah fungsi JavaScript minifier?
Minify menjadikan JavaScript lebih kecil tanpa mengubah apa yang dilakukannya. Alat ini menggunakan Terser, minifier di sebalik webpack, Vite dan Rollup, dan menggunakan tiga jenis perubahan:
- Pembuangan ruang putih dan komen: inden, baris baharu dan komen tidak diperlukan oleh enjin JavaScript.
- Mangling: nama pemboleh ubah setempat dan parameter fungsi seperti
subtotalmenjadi satu huruf. Nama global dan sifat objek tidak disentuh supaya API awam anda terus berfungsi. - Pemampatan: ungkapan pemalar dilipat, kod yang tidak dapat dicapai dibuang, pernyataan
ifmenjadi ternary dan fungsi pendek dimasukkan sebaris.
Minify lwn. gzip: perlukah kedua-duanya?
Ya. Gzip dan Brotli memampatkan corak bait berulang semasa penghantaran, manakala minify membuang bait yang sebaliknya perlu dimuat turun, dihurai dan dikompil oleh pelayar. Skrip biasa mengecil 40–60% melalui minify dan kemudian 60–70% lagi melalui gzip. Saiz gzip yang ditunjukkan di sini ialah anggaran yang baik bagi apa yang sebenarnya akan dihantar oleh pelayan anda.
Mengekalkan komen lesen
Banyak lesen sumber terbuka (MIT, BSD, Apache) memerlukan notis hak cipta kekal bersama kod. Mengikut konvensyen, komen yang bermula dengan /*! atau mengandungi @license atau @preserve dikekalkan apabila Kekalkan komen lesen dihidupkan.
Bila tidak perlu minify secara manual
Jika projek anda sudah menggunakan bundler, biarkan ia minify build produksi dan menjana source map untuk debugging. Minifier dalam talian sesuai untuk skrip sekali guna, snippet untuk CMS atau tag manager, bookmarklet dan untuk melihat sekecil mana sesuatu kod boleh jadi.
Soalan lazim
Adakah kod saya dimuat naik ke pelayan?
Bolehkah minify merosakkan kod saya?
Function.prototype.toString() atau pada nama pemboleh ubah setempat melalui eval boleh terjejas; matikan Kaburkan nama dalam kes itu.