Loading…

Tentang Minifier JavaScript Online

Kirim bundle JavaScript yang lebih kecil dalam hitungan detik ⚡. Minifier JavaScript online ini mengurai JS Anda menjadi AST, menghilangkan komentar dan spasi yang tidak perlu, dan menerapkan proses kompresi yang aman. Ideal untuk mengecilkan skrip mandiri, perbaikan cepat, cuplikan tag manager, dan pemeriksaan pra-deploy. Semuanya berjalan 100% di sisi klien – kode Anda tidak pernah meninggalkan browser.

Fitur Utama JavaScript Minifier Ini

  • Kompresi JS instan di browser (tanpa unggah file ke server)
  • Menghapus komentar dan merapikan spasi/baris baru yang tidak perlu
  • Kompresi berbasis AST mirip Terser (constant folding, penghapusan kode mati dalam kondisi aman)
  • Opsional pengacakan identifier dan flag lanjutan melalui API atau integrasi build
  • Bekerja dengan JavaScript modern (ES2015+), skrip klasik dan output modul sederhana
  • Salin atau unduh JavaScript yang diminifikasi dengan satu klik
  • Menggunakan komponen inti yang sama dengan formatter JavaScript: beralih antara output terformat dan diminifikasi dengan satu aksi
  • Pemrosesan 100% di sisi klien untuk privasi maksimal

🛠️ Cara Meminifikasi JavaScript for javascript-minifier

1

Tempel atau Unggah JS Anda

Letakkan file .js/.mjs ke editor atau tempel JavaScript langsung. Alat ini ideal untuk skrip tunggal, file utilitas, dan bundel kecil.

2

Pilih Mode Minifikasi

Gunakan komponen yang sama dengan formatter JavaScript: beralih ke aksi Minify untuk mendapatkan output terkompresi alih-alih kode terformat.

3

Jalankan Minifier

Kode Anda di-parse menjadi AST, komentar dan spasi berlebih dihapus, serta penerapan kompresi aman untuk mengurangi ukuran bundel.

4

Salin atau Unduh Hasilnya

Salin JavaScript yang diminifikasi dari editor output atau unduh sebagai file .min.js dan sertakan dalam HTML, CDN atau output build Anda.

Spesifikasi Teknis

Transformasi Inti (Default Aman)

Default konservatif dirancang untuk mempertahankan perilaku runtime sambil mengecilkan ukuran kode secara signifikan.

OperasiDiterapkanCatatan
Hapus komentar baris dan blokKomentar lisensi (/*! ... */) dapat dipertahankan melalui konfigurasi/API
Mengurangi spasi dan baris baruSpasi dinormalisasi di mana secara semantik aman; konten string dan regex dipertahankan
Pelipatan konstanta dan penyisipan sederhanaHanya ketika hasilnya terbukti setara
Eliminasi kode matiMenghapus cabang yang tidak terjangkau setelah propagasi konstanta
Pengubahan nama pengenal✅ OpsionalMemendekkan nama variabel dan fungsi; dapat dikonfigurasi melalui opsi lanjutan/API
Hilangkan pembantu debugging (console/debugger)✅ OpsionalDapat diaktifkan ketika Anda tidak bergantung pada output console di produksi

Kontrol Keamanan & Kompatibilitas

Opsi lanjutan (terutama diekspos melalui alat build/API) membantu menyetel seberapa agresif minifikasi seharusnya.

OpsiDefaultPenjelasan
target ecma2020Mengontrol sintaks output dan beberapa aturan kompresi
modul vs skripskripAktifkan optimisasi modul/tingkat atas untuk bundel ESM
keep_fnames / keep_classnamesfalsePertahankan nama untuk jejak tumpukan yang lebih baik atau kerangka kerja DI
safari10 / keanehan warisanmatiAktifkan hanya saat menargetkan mesin warisan tertentu
tingkat_atasfalseMemungkinkan penghapusan ikatan tingkat atas yang tidak digunakan untuk tree-shaking lanjutan

Pengurangan Ukuran Khas

Penghematan bervariasi tergantung pada pemformatan asli, kepadatan komentar, dan seberapa banyak kode mati yang ada.

Gaya InputHanya KompresKompres + Hancur (Agresif)
Sangat banyak komentar dan spasi35%–55%50%–70%
Kode aplikasi dengan format sedang20%–35%35%–55%
Kode yang sudah kompak5%–15%10%–25%

Alternatif CLI untuk Build Produksi

Untuk aplikasi lengkap dan proyek multi-file, integrasikan minifikasi ke dalam pipeline CI/CD Anda.

Node.js

Terser (kasus umum)

npx terser src/app.js -o dist/app.min.js -c ecma=2020,passes=2 -m

Dua kali kompres ditambah penghancuran identifier untuk pengurangan ukuran yang kuat.

Terser dengan nama cadangan dan drop_console

npx terser src/app.js -o dist/app.min.js -c passes=2,drop_console=true -m reserved=["React","ReactDOM"] --keep-fnames

Lindungi global penting, hapus panggilan konsol, dan pertahankan nama fungsi untuk debugging.

Linux/macOS/Windows

esbuild (sangat cepat)

npx esbuild src/app.js --minify --target=es2018 --outfile=dist/app.min.js

Bundle dan minifikasi dalam satu langkah yang sangat cepat.

SWC (berbasis Rust)

npx swc src -d dist --minify

Transpile dan minifikasi dengan mesin Rust berkinerja tinggi.

Kasus Penggunaan Umum

Performa Web & Core Web Vitals

  • Kurangi ukuran transfer JavaScript untuk LCP dan TTI yang lebih cepat
  • Hapus komentar dan logging debug sebelum deployment
  • Perkecil bundle sisi klien sebelum kompresi gzip/brotli
/* komentar hanya-build yang akan dihapus dalam output termampatkan */

CI/CD dan Otomasi Rilis

  • Minifikasi JS sebagai langkah akhir dalam pipeline build Anda
  • Siapkan bundle kecil yang ramah cache untuk CDN
  • Hasilkan aset siap-produksi bersama minifier HTML/CSS

Widget, Embed & Eksperimen

  • Kirim cuplikan ringkas melalui pengelola tag
  • Sematkan widget yang diperkecil di halaman pihak ketiga
  • Eksperimen dengan berbagai strategi kompresi pada skrip kritis

❓ Frequently Asked Questions

Apakah meminifikasi JavaScript akan mengubah cara kode saya berjalan?

Dengan pengaturan aman default, perilaku runtime seharusnya tetap identik. Opsi agresif seperti optimisasi tingkat atas, pengacakan pengenal, atau penghapusan panggilan konsol dapat memengaruhi perilaku jika kode Anda bergantung pada nama, efek samping, atau pencatatan. Selalu simpan versi yang tidak diminifikasi dan jalankan pengujian pada build yang diminifikasi.

Apakah alat ini menangani TypeScript atau JSX secara langsung?

Peminifikasi menargetkan JavaScript biasa. Untuk TypeScript atau JSX, pertama-tama transpilasi ke JavaScript (melalui SWC, esbuild, atau Babel) lalu minifikasi kode JS yang dihasilkan.

Apakah JavaScript saya diunggah ke server?

Tidak. Semua pemrosesan terjadi sepenuhnya di browser Anda menggunakan kode sisi klien. Kode sumber tidak dikirim ke server jarak jauh mana pun, yang ideal untuk skrip pribadi/berhak milik.

Seberapa besar file JavaScript saya bisa?

Untuk UX browser yang lancar, kami merekomendasikan file hingga sekitar 1 MB dalam alat daring ini. Bundle yang lebih besar dan proses peminifikasi berulang lebih baik ditangani oleh alat CLI yang terintegrasi ke dalam pipeline build Anda.

Apa perbedaan antara pemformatan dan peminifikasi?

Pemformatan membuat kode lebih mudah dibaca (indentasi dan spasi yang konsisten). Peminifikasi membuat kode lebih kecil (menghapus spasi, komentar, dan kode berlebihan). Alat ini berbagi komponen inti yang sama untuk keduanya: gunakan aksi Format untuk keterbacaan dan aksi Minify untuk bundle produksi.

Pro Tips

Best Practice

Tentukan NODE_ENV=production (atau setara) di bundler Anda untuk membuka pemangkasan kode mati tambahan di banyak pustaka.

Best Practice

Simpan sumber yang tidak diminifikasi (dan, untuk aplikasi besar, peta sumber) dalam kontrol versi, dan sajikan hanya aset yang diminifikasi di produksi.

Best Practice

Gunakan nama yang dipesan saat mengacak untuk melindungi API publik yang tergantung di window atau globalThis.

Best Practice

Gabungkan peminifikasi dengan gzip atau brotli di tingkat CDN atau server untuk mendapatkan penghematan ukuran yang berlipat ganda.

Additional Resources

Other Tools