Sformatuj JavaScript albo go zminifikuj i zobacz, ile bajtów ubyło
Działa w przeglądarce. Wpisane dane nie są nigdzie wysyłane.Formatowanie JavaScriptu dodaje wcięcia i układa instrukcje tak, by dało się je czytać; minifikacja usuwa nazwy i spacje na potrzeby produkcji. Usunięte bajty są pokazywane, więc oszczędność na bundlu 50 KB widać przed wdrożeniem. Kod jest analizowany w przeglądarce i nigdy nie jest wysyłany.
Ta strona została przetłumaczona maszynowo z angielskiego oryginału. Tłumaczenie nie zostało jeszcze sprawdzone przez człowieka, dlatego wiążąca jest wersja angielska. Przeczytaj angielski oryginał
Wklej JavaScript lub JSX w pole albo kliknij Wypróbuj przykład; TypeScript nie jest obsługiwany.
Zostaw Formatuj, aby przeformatować kod przez Prettier, lub wybierz Minifikuj, aby zmniejszyć go przez terser.
Ustaw Wcięcie, Zawijaj przy, Średniki i Pojedyncze cudzysłowy dla Formatuj albo opcje widoczne dla Minifikuj.
Kliknij Kopiuj lub Pobierz, aby zabrać wynik.
To narzędzie robi dwie rzeczy, których oczekuje się od pliku ze skryptem. Formatuj przepuszcza kod przez Prettier i zwraca ten sam kod ułożony po swojemu: dwie spacje, cztery spacje lub tabulator, ze średnikami lub bez, pojedyncze lub podwójne cudzysłowy i wybrana szerokość wiersza. Minifikuj przepuszcza go przez terser i zwraca najmniejszy równoważny plik, z rozmiarem przed, rozmiarem po i procentem oszczędności.
Przydaje się przy drobnych zadaniach, które przerywają dzień. Fragment skopiowany z odpowiedzi w internecie ma styl, którego projekt nie używa. Odziedziczony plik ma trzy instrukcje w wierszu. Trzeba z grubsza sprawdzić, ile zajmie funkcja pomocnicza po wdrożeniu, zanim zapadnie decyzja o napisaniu jej samodzielnie. A czasem potrzeba odwrotności: zminifikowany bundle rozwinięty na tyle, by zrozumieć, co robi skrypt zewnętrzny.
Minifikacja ma dwa przełączniki. Zmiana nazw zmiennych lokalnych na pojedyncze litery daje większość oszczędności i nie zmienia niczego, co widać z zewnątrz. Zachowanie nazw funkcji kosztuje kilka bajtów, ale pozostawia czytelne ślady stosu i wszystko, co odczytuje nazwę funkcji, co ma znaczenie przy wysyłaniu błędów do usługi monitorującej.
Narzędzie czyta czysty JavaScript i JSX. TypeScript nie jest obsługiwany: po wklejeniu go błąd parsera byłby bezużyteczny, więc strona najpierw sprawdza kod i podaje, jaką konstrukcję TypeScriptu znalazła, na przykład alias typu lub typowany parametr. Wszystko działa w przeglądarce, więc niewydany kod i wszystko, co zawiera klucz, nigdy nie opuszcza urządzenia.
Tak. Bez rejestracji, bez limitu rozmiaru i bez limitu liczby przetwarzanych plików. Stronę utrzymuje kilka reklam wyświetlanych poza narzędziem, a do kodu nic nie jest dodawane.
Nie. Zarówno Prettier, jak i terser działają w przeglądarce. Niewydany kod, wewnętrzne endpointy czy klucz API w obiekcie konfiguracyjnym nigdy nie opuszczają urządzenia, a po zamknięciu karty nic nie zostaje zapisane.
Nie. Czyta czysty JavaScript i JSX. Po wklejeniu TypeScriptu strona podaje znalezioną konstrukcję, na przykład alias typu lub typowany parametr, zamiast pokazywać błąd parsera, który niczego nie wyjaśnia. Najpierw należy usunąć typy albo użyć edytora rozumiejącego TypeScript.
Czytelny kod źródłowy z komentarzami zwykle traci od 40 do 60 procent, a znacznie więcej przy długich nazwach zmiennych i pustych wierszach. Kod już zminifikowany prawie się nie zmienia. Pokazywana jest dokładna liczba bajtów, więc można porównać.
Mangling zmienia nazwy zmiennych lokalnych i argumentów funkcji na pojedyncze litery. Nic poza plikiem nie widzi tych nazw, więc działanie się nie zmienia, a to zwykle największa pojedyncza oszczędność. Nazwy eksportowane i właściwości obiektów pozostają nietknięte.
Można odzyskać układ, ale nie nazwy. Formatuj dodaje podziały wierszy, wcięcia i odstępy, by kod był czytelny, jednak minifikator odrzuca oryginalne nazwy zmiennych i komentarze, a żadne narzędzie nie potrafi ich odtworzyć.
Nadal coś nie działa? Zapytaj o narzędzie Formatowanie i minifikacja JavaScript a odpowiedzieć może każdy, kto zna odpowiedź. Konto nie jest potrzebne.