Langsung ke konten utama
PulsarKit

Minify CSS, JS, atau HTML

Buang komentar, indentasi, dan spasi mati dari stylesheet, skrip, dan halaman, dengan aman dan tanpa mengganti satu nama pun di kode Anda.

Letakkan file di sini

.css, .js, .mjs, .html, .htm, .txt · hingga 20 MB

Cara Minify

  1. 1

    Letakkan file sumber

    Tambahkan hingga dua puluh stylesheet, skrip, atau halaman, maksimal 20 MB per file. Setiap file dibaca dan diproses di dalam tab browser ini.

  2. 2

    Pastikan bahasanya

    Ekstensi file menentukan lebih dulu, lalu isi file itu sendiri. Jika keduanya belum memastikan, pilih sendiri CSS, JavaScript, atau HTML sebelum melanjutkan.

  3. 3

    Unduh file hasil minify

    Setiap hasil dikembalikan di samping aslinya sebagai file .min, dan beberapa file sekaligus dikirim sebagai satu ZIP.

Dipecah jadi token, jadi string tetap string

Setiap file dipindai menjadi token sungguhan sebelum satu karakter pun dibuang. Itulah yang mencegah penanda komentar di dalam string memotong baris, garis miring ganda di dalam URL menelan sebuah aturan CSS, dan pembuka komentar berkurung sudut di dalam skrip mengakhiri blok terlalu cepat. Penghapusan spasi yang naif gagal persis pada kasus seperti ini, dan gagalnya tanpa tanda apa pun.

Baris baru yang bermakna dipertahankan

Di JavaScript, baris baru kadang berfungsi sebagai titik koma. Pernyataan return yang diikuti baris baru mengembalikan undefined, sedangkan return yang diikuti spasi mengembalikan nilainya, jadi mengganti baris baru itu akan mengubah perilaku kode. Baris baru yang dibutuhkan bahasa itu tetap di tempatnya. Di HTML, isi pre dan textarea disalin apa adanya, dan komentar kondisional dipertahankan: itu markup, bukan catatan.

Yang sengaja tidak dilakukan

Nama variabel tidak dipendekkan dan source map tidak dibuat. Mengganti nama variabel lokal berarti analisis cakupan (scope) penuh di atas parser yang lengkap, dan sedikit kesalahan di sana merusak kode yang sudah berjalan tanpa peringatan. Penghematan di sini lebih kecil daripada yang diberikan toolchain build lengkap, dan semua sumber penghematannya bisa dikembalikan.

Kode Anda tidak pernah diunggah

Pembacaan, penguraian, dan penulisan ulang semuanya berlangsung di dalam tab browser ini, tanpa server, tanpa antrean, dan tanpa salinan yang disimpan setelah tab ditutup. Ini penting untuk file sumber, yang sering berisi endpoint internal, komentar tentang pekerjaan yang belum dirilis, dan kunci yang tidak sengaja tertinggal di file konfigurasi.

Pertanyaan yang sering diajukan

Apakah aman melakukan minify pada kode yang bukan buatan saya?

Semua transformasi di sini hanya membuang hal yang diabaikan oleh bahasa itu: komentar, indentasi, dan spasi berlebih. Tidak ada yang ditulis ulang, diubah urutannya, atau diganti namanya, jadi hasilnya berperilaku sama dengan kode aslinya. Tetap simpan file asli, karena file hasil minify dimaksudkan untuk dihasilkan ulang, bukan diedit.

Mengapa nama variabel saya tidak diubah?

Memendekkan nama berarti analisis cakupan di atas parser lengkap untuk bahasa itu, dan satu kesalahan di dalamnya mengubah perilaku kode produksi seseorang tanpa disadari. Fitur itu tidak dibuat, dan tidak ada sakelar yang berpura-pura menyediakannya. Hasilnya adalah pengecilan yang aman tetapi lebih lemah daripada hasil bundler lengkap, dan ini perlu diketahui sebelum Anda membandingkan jumlah byte.

Apakah minify sama dengan obfuskasi?

Tidak. Minify membuang byte yang tidak dibutuhkan parser, dan logikanya tetap bisa dibaca setelah indentasinya dikembalikan. Obfuskasi sengaja membuat kode sulit diikuti dengan mengganti nama identifier, menyandikan string, dan menulis ulang alur kontrol. Tidak ada yang berusaha disembunyikan di sini.

Apakah saya mendapat source map?

Source map tidak dibuat. Memetakan posisi di file hasil minify kembali ke baris aslinya memerlukan pelacakan setiap token selama penulisan ulang, dan itu tugas alat build. Untuk debugging, simpan file aslinya dan sajikan versi hasil minify.

Apakah bisa minify beberapa file sekaligus?

Bisa, hingga dua puluh file sekaligus, dan bahasanya ditentukan per file, jadi stylesheet, skrip, dan halaman bisa diproses bersamaan. File dengan kesalahan sintaks dilaporkan namanya dan dilewati tanpa membatalkan file lainnya.

Apa yang terjadi jika file punya kesalahan sintaks?

Anda mendapat nomor baris dan kolom, bukan hasil. Blok CSS yang tidak ditutup atau deklarasi tanpa nilai sengaja menghentikan pemrosesan file itu: stylesheet terpotong yang tampak baik sampai tiba di produksi lebih buruk daripada pesan kesalahan.

Mengapa ukuran file saya hampir tidak berkurang?

Kemungkinan file itu memang sudah hasil minify. Jika ukuran hasil hampir sama dengan ukuran masukan, tidak ada lagi yang bisa dibuang, dan alat ini menyampaikannya dengan jelas sambil tetap mengembalikan file, bukan memblokir Anda.

Apakah style dan skrip yang tertanam di HTML juga dikompres?

Ya. Blok style dan script di halaman diproses dengan mesin minify yang sama seperti file mandiri, dan spasi di antara tag diringkas menjadi satu spasi. Skrip inline yang rusak tidak menjatuhkan bagian halaman lainnya; blok itu dibiarkan seperti semula.

Alat terkait