JavaScript formater i minifikator
Uljepšaj minifikovani JavaScript, minifikuj ga pomoću Tersera ili provjeri sintaksu s tačnim redom i kolonom greške. Radi samo u tvom pregledniku.
Kako formatirati ili minifikovati JavaScript
- Zalijepi svoj kod ili klikni Otvori datoteku da učitaš
.js,.mjsili.jsxdatoteku (do 10 MB). - Odaberi Uvlačenje i, ako preferiraš Allman stil, označi Vitičaste zagrade u zasebnom redu.
- Klikni Formatiraj (uljepšaj) da kod učiniš čitljivim.
- Da ga smanjiš, podesi Opcije minifikacije i klikni Minifikuj. Da samo potražiš greške, klikni Provjeri sintaksu.
- Kopiraj ili preuzmi rezultat. Red statusa prikazuje veličinu prije i poslije te postotak uštede.
Kod se samo čita i transformiše, nikada ne izvršava: ništa što zalijepiš ne izvršava se na ovoj stranici.
Uljepšavanje pomoću js-beautify
Formatiraj (uljepšaj) koristi js-beautify. Stavlja jednu naredbu u red, uvlači blokove, dodaje razmake oko operatora i iza ključnih riječi te zadržava do jednog praznog reda tamo gdje si ga imao. Razumije i modernu sintaksu (klase, arrow funkcije, template literale, async/await) i JSX. To je najbrži način da pročitaš minifikovanu biblioteku ili jednoredni isječak kopiran s neke web-stranice.
Uljepšavanje mijenja samo razmake. Ne provjerava je li kod ispravan: zagrada koja nedostaje jednostavno daje čudno uvlačenje. Za to koristi Provjeri sintaksu.
Minifikacija pomoću Tersera
Minifikuj koristi Terser, minifikator koji koristi većina JavaScript alata za izgradnju. Pošto je velik, preuzima se tek kad prvi put klikneš Minifikuj ili Provjeri sintaksu. Opcije se direktno preslikavaju u Terserove postavke:
- ES modul (import/export) parsira kod kao modul (
module: true): primjenjuje se strogi način, a nazivi na najvišem nivou su privatni, pa se mogu preimenovati, a neupotrijebljeni ukloniti. Ostavi neoznačeno za klasičnu skriptu čije globalne funkcije koriste druge skripte. - Sažmi (
compress) prepisuje kod u kraći ekvivalentan kod: izračunavanje konstanti (2*60postaje120), uklanjanje mrtvog koda, spajanjevardeklaracija, kraći uslovi. - Skrati nazive varijabli (
mangle) preimenuje lokalne varijable i parametre u jedno ili dva slova. Globalni nazivi i svojstva objekata se nikada ne preimenuju. - Zadrži komentare s licencom zadržava komentare koji počinju s
/*!ili sadrže@licenseili@preserve. Svi ostali komentari se uklanjaju.
Minifikacija ne može promijeniti šta kod radi, ali kod koji se oslanja na nazive funkcija (fn.name) ili na eval može se ponašati drugačije nakon preimenovanja. U tom slučaju ukloni oznaku s Skrati nazive varijabli.
Sintaksne greške s redom i kolonom
Kad Terser ne može parsirati kod, Minifikuj i Provjeri sintaksu prikazuju poruku o grešci s redom i kolonom, na primjer „Red 12, kolona 8 – Sintaksna greška: Unexpected token punc «)»“. Kolona broji znakove od 1. Tipičan uzrok je zagrada koja nedostaje ranije u datoteci, pa pogledaj i redove neposredno prije prijavljene pozicije.
Česta pitanja
Šalje li se moj kod bilo kuda?
Ne. I js-beautify i Terser rade u tvom pregledniku, a tvoj kod ostaje na tvom računaru.
Mogu li minifikovati TypeScript?
Ne. Terser prihvata samo JavaScript. Prvo kompajliraj TypeScript u JavaScript, pa minifikuj izlaz. Formatiranje jednostavnog TypeScripta pomoću Formatiraj (uljepšaj) često radi, ali anotacije tipova mogu imati neobične razmake.
Zašto se moj minifikovani kod razlikuje od onoga što sam napisao?
Sažmi izračunava konstantne izraze, umeće vrijednosti koje se koriste jednom i uklanja nedostižan kod. Rezultat se ponaša isto. Ukloni oznaku sa Sažmi da se uklone samo razmaci i komentari.
Mora li „ES modul“ odgovarati mom kodu?
Da. Kod s import ili export treba minifikovati kao modul. Klasična skripta minifikovana kao modul mogla bi izgubiti globalne funkcije koje pozivaju druge skripte, jer se nazivi na najvišem nivou tada tretiraju kao privatni.
Šta je s JSON-om?
JSON je ispravan JavaScript, pa oba dugmeta prihvataju, ali namjenski JSON formater daje bolje poruke o greškama i sortira ključeve.
Srodni alati
- JSON formater i validator Besplatan JSON formater i validator koji uljepšava, minifikuje i provjerava JSON u pregledniku, a sintaksne greške prijavljuje s redom i kolonom.
- CSS formater i minifikator Uljepšaj neuredan CSS čistim uvlačenjem ili ga minifikuj pomoću csso i vidi veličinu prije i poslije. Radi u pregledniku, ništa se ne šalje na server.
- HTML formater Uljepšaj neuredan HTML čistim uvlačenjem ili ga sigurno minifikuj u pregledniku. Ugrađeni CSS i JavaScript se također formatiraju. Ništa se ne šalje.
- Regex tester Testiraj JavaScript regularne izraze uživo s označenim podudaranjima, grupama za hvatanje, zamjenom i objašnjenjem svakog elementa uzorka na običnom jeziku.