JavaScript Minifier
Hızlı yapısal JavaScript minify — yorumları sil, boşlukları daralt, boş satırları at. Öncesi/sonrası boyutunu ve tasarruf yüzdesini gör.
Sonucu görmek için yukarıya giriş yapın.
Bu ne işe yarar?
Bir yapısal JavaScript minifier, kodun ne yaptığını değiştirmeden yorumları ve gereksiz boşluğu temizler. Çıktı girdiyle işlevsel olarak aynıdır — aynı tanımlayıcılar, aynı mantık — sadece daha kısa. Bu araç bu pasajı tarayıcında çalıştırır, zor kısımlar dahil: string içeriklerini ve regex literal'larını dokunulmadan korur ve ASI (Otomatik Noktalı Virgül Yerleştirme) aksi takdirde davranışı değiştireceği yerlerde yeni satırları tutar.
Ne zaman kullanılır
- HTML bookmarklet'i veya tek dosyalı demo için bir snippet'i hızlıca kırpma, build chain'in olmadığında.
- Gerçek bir optimizer kurulumuna değip değmeyeceğine karar vermeden önce el yazımı bir script'te ne kadar "yağ" olduğunu kontrol etme.
- Bir bundler sürüklemeden statik bir siteye küçük bir kütüphaneyi inline yapma.
Sık yapılan hatalar
- Bu yapısal bir minify, sıkıştırıcı değil. Değişkenleri yeniden adlandırmaz, ölü kod eliminasyonu yapmaz, özellikleri mangle etmez veya tree-shake yapmaz. Production build'leri için pipeline'ında
terser,esbuildveyaswckullan — yapısal minify üstüne %30–60 daha keser. - ASI tuzakları. JavaScript şaşırtıcı yerlere noktalı virgül ekler. Minifier kaldırılması anlamı değiştirecek bir yeni satırı korur (örn.
return {}≠return {}). Mümkünse kaynakta açık noktalı virgüllere bağlı kal — herkes için minification'ı daha güvenli yapar. - Source map üretilmez. Production'a minified JS gönderiyorsan, debug'ın sağlıklı olması için gerçek bir toolchain ile source map üret.
- Modern sıkıştırma baskın. Wire üzerindeki Brotli/gzip minify'ın çoğunu yapar. En büyük kazanımlar kullanılmayan kodu çıkarmaktan gelir — bu yapısal minifier'ın yapamadığı statik analiz gerektirir.
- Commit ettiğini minify etme. Kaynak güzel girer; build/deploy'da minify et.