JavaScript formater i minifikator
Sredi minifikovan JavaScript, minifikuj ga pomoću Tersera ili proveri sintaksu sa tačnim redom i kolonom svake greške. Radi samo u tvom pregledaču.
Kako da formatiraš ili minifikuješ JavaScript
- Nalepi kod ili klikni Otvori fajl da učitaš
.js,.mjsili.jsxfajl (do 10 MB). - Izaberi Uvlačenje i, ako voliš Allman stil, označi Vitičaste zagrade u svom redu.
- Klikni Formatiraj (sredi) da kod postane čitljiv.
- Da ga smanjiš, podesi Opcije minifikacije i klikni Minifikuj. Ako samo tražiš greške, klikni Proveri sintaksu.
- Kopiraj ili preuzmi rezultat. Statusni red prikazuje veličinu pre i posle i procenat ušteđenog prostora.
Kod se samo čita i pretvara, nikada se ne izvršava: ništa što nalepiš ne pokreće se na ovoj stranici.
Formatiranje pomoću js-beautify
Formatiraj (sredi) koristi js-beautify. Stavlja po jednu naredbu u red, uvlači blokove, dodaje razmake oko operatora i posle ključnih reči i zadržava najviše jedan prazan red tamo gde si ga imao. Razume i modernu sintaksu (klase, strelaste funkcije, šablonske stringove, async/await) i JSX. To je najbrži način da pročitaš minifikovanu biblioteku ili jednoredni isečak kopiran sa veb-stranice.
Formatiranje menja samo razmake. Ne proverava da li je kod ispravan: zagrada koja nedostaje jednostavno daje čudno uvlačenje. Za to koristi Proveri sintaksu.
Minifikacija pomoću Tersera
Minifikuj koristi Terser, minifikator koji koristi većina alata za izgradnju JavaScripta. Pošto je velik, preuzima se tek kad prvi put klikneš Minifikuj ili Proveri sintaksu. Opcije se direktno preslikavaju na Terser podešavanja:
- ES modul (import/export) parsira kod kao modul (
module: true): važi strogi režim, a nazivi na vrhu fajla su privatni, pa mogu da se preimenuju, a neupotrebljeni da se uklone. Ostavi neoznačeno za klasičan skript čije globalne funkcije koriste drugi skriptovi. - Kompresuj (
compress) prepisuje kod u kraći ekvivalentan kod: izračunavanje konstanti (2*60postaje120), uklanjanje mrtvog koda, spajanjevardeklaracija, kraći uslovi. - Skrati nazive promenljivih (
mangle) preimenuje lokalne promenljive i parametre u jedno ili dva slova. Globalni nazivi i svojstva objekata se nikada ne preimenuju. - Zadrži komentare o licenci čuva komentare koji počinju sa
/*!ili sadrže@licenseili@preserve. Svi ostali komentari se uklanjaju.
Minifikacija ne može da promeni šta kod radi, ali kod koji se oslanja na nazive funkcija (fn.name) ili na eval može posle preimenovanja da se ponaša drugačije. U tom slučaju ukloni oznaku sa Skrati nazive promenljivih.
Sintaksne greške sa redom i kolonom
Kad Terser ne može da parsira kod, Minifikuj i Proveri sintaksu prikazuju poruku o grešci sa redom i kolonom, na primer „Red 12, kolona 8 – Syntax error: Unexpected token punc «)»“. Kolona broji znakove od 1. Tipičan uzrok je zagrada koja nedostaje ranije u fajlu, pa pogledaj i redove neposredno pre prijavljenog mesta.
Česta pitanja
Da li se moj kod nekuda otprema?
Ne. I js-beautify i Terser rade u tvom pregledaču, a tvoj kod ostaje na tvom računaru.
Mogu li da minifikujem TypeScript?
Ne. Terser prihvata samo JavaScript. Prvo prevedi TypeScript u JavaScript, pa minifikuj rezultat. Formatiranje jednostavnog TypeScript-a pomoću Formatiraj (sredi) često radi, ali tipske anotacije mogu imati čudne razmake.
Zašto moj minifikovani kod izgleda drugačije od onoga što sam napisao?
Kompresuj izračunava konstantne izraze, ugrađuje vrednosti koje se koriste jednom i uklanja nedostižan kod. Rezultat se ponaša isto. Ukloni oznaku sa Kompresuj da se uklone samo razmaci i komentari.
Da li „ES modul“ mora da odgovara mom kodu?
Da. Kod sa import ili export treba minifikovati kao modul. Klasičan skript minifikovan kao modul mogao bi da izgubi globalne funkcije koje pozivaju drugi skriptovi, jer se nazivi na vrhu fajla tada tretiraju kao privatni.
Šta je sa JSON-om?
JSON je ispravan JavaScript, pa oba dugmeta prihvataju JSON, ali poseban JSON formater daje bolje poruke o greškama i sortira ključeve.
Srodni alati
- JSON formater i validator Besplatan JSON formater i validator koji sređuje, minifikuje i proverava JSON u pregledaču, sa sintaksnim greškama prijavljenim po redu i koloni.
- CSS formater i minifikator Sredi neuredan CSS čistim uvlačenjem ili ga minifikuj pomoću csso i vidi veličinu pre i posle. Radi u tvom pregledaču, ništa se ne otprema na server.
- HTML formater i minifikator Sredi neuredan HTML čistim uvlačenjem ili ga bezbedno minifikuj u pregledaču. Ugrađeni CSS i JavaScript se takođe formatiraju. Ništa se ne otprema.
- Regex tester Testiraj JavaScript regularne izraze uživo: istaknuta poklapanja, grupe za hvatanje, zamena i objašnjenje svakog tokena običnim jezikom.