Formater i minifikator JavaScript
Sformatuj JavaScript albo zminifikuj go z prawdziwą kompresją i skracaniem nazw
O tym narzędziu
Upiększ JavaScript spójnymi wcięciami i odstępami — rozminifikuj dołączony bundle, żeby zobaczyć, co naprawdę robi, albo uporządkuj kod wklejony z konsoli. Minifikator jest tu prawdziwy: Terser parsuje kod do AST, usuwa martwy kod, skraca nazwy zmiennych lokalnych i wycina komentarze — to ten sam silnik, którego bundlery używają na produkcji.
Ponieważ minifikacja opiera się na AST, nigdy nie psuje działającego kodu w sposób, w jaki potrafią „kompresory” oparte na wyrażeniach regularnych: napisy, literały szablonowe, wyrażenia regularne i przypadki brzegowe ASI obsługuje prawdziwy parser. Błędy składni są raportowane z pozycją, zamiast dawać uszkodzone wyjście.
Terser ładuje się dopiero przy pierwszej minifikacji, dzięki czemu strona pozostaje lekka, i działa w całości w Twojej przeglądarce — zastrzeżony kod źródłowy nigdy nie opuszcza Twojej maszyny.
Często zadawane pytania
- O ile mniejszy będzie mój kod?
- Kod pisany ręcznie zwykle chudnie o 30–60% przed gzipem: białe znaki, komentarze i długie nazwy lokalne ważą właśnie tyle. Kod już zbundlowany kurczy się znacznie mniej — raz przeszedł przez tę samą transformację.
- Czy minifikacja zmienia zachowanie?
- Kompresja i skracanie nazw zachowują semantykę: zmieniane są tylko nazwy lokalne, a usuwanie martwego kodu wycina gałęzie, które dowodnie nie mogą się wykonać. Klasycznym wyjątkiem jest kod polegający na Function.prototype.name albo na toString() własnych funkcji.
- Czy da się tym odminifikować kod produkcyjny ze strony?
- Formater przywraca białe znaki i strukturę, przez co przepływ sterowania staje się czytelny — ale oryginalne nazwy zmiennych i komentarze przepadły na zawsze; zobaczysz a, b, c. Do poważnego debugowania lepiej sięgnąć po source mapy, jeśli serwis je publikuje.
- Czy obsługuje TypeScript albo JSX?
- Nie — jedno i drugie potrzebuje własnego parsera. Najpierw skompiluj do JavaScriptu (tsc, esbuild), a potem formatuj albo minifikuj tutaj wynik.