onlinetools.dev

Formater i minifikator JavaScript

Sformatuj JavaScript albo zminifikuj go z prawdziwą kompresją i skracaniem nazw

Działa lokalnie
loading…
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.
Powiązane narzędzia