Kluczowe Funkcje Tego Minifikatora JavaScript
- Natychmiastowa kompresja JS w przeglądarce (brak przesyłania plików na serwery)
- Usuwa komentarze i redukuje zbędne spacje/znaki nowej linii
- Kompresja oparta na AST podobna do Terser (stałe składanie, usuwanie martwego kodu w bezpiecznych warunkach)
- Opcjonalne mangle identyfikatorów i zaawansowane flagi przez API lub integrację z buildem
- Działa z nowoczesnym JavaScript (ES2015+), klasycznymi skryptami i prostym wyjściem modułów
- Jednoklikowe kopiowanie lub pobieranie zminifikowanego JavaScript
- Używa tego samego komponentu co formatowanie JavaScript: przełącz między sformatowanym a zminifikowanym wyjściem jednym ruchem
- 100% przetwarzania po stronie klienta dla maksymalnej prywatności
🛠️ Jak Zminifikować JavaScript for javascript-minifier
Wklej lub Prześlij Swój JS
Upuść plik .js/.mjs do edytora lub wklej JavaScript bezpośrednio. Narzędzie idealne dla pojedynczych skryptów, plików narzędziowych i małych bundli.
Wybierz Tryb Minifikacji
Użyj tego samego komponentu co formatowanie JavaScript: przełącz na akcję Minifikuj, aby uzyskać skompresowane wyjście zamiast sformatowanego kodu.
Uruchom Minifikator
Twój kod jest parsowany do AST, komentarze i dodatkowe spacje są usuwane, a bezpieczne przejścia kompresji są stosowane, aby zmniejszyć rozmiar bundla.
Skopiuj lub Pobierz Wynik
Skopiuj zminifikowany JavaScript z wyjściowego edytora lub pobierz go jako plik .min.js i dołącz do swojego HTML, CDN lub wyjścia build.
Specyfikacje Techniczne
Główne Transformacje (Bezpieczne Domyślne)
Zachowawcze domyślne ustawienia są zaprojektowane, aby zachować zachowanie w czasie wykonywania, jednocześnie znacząco zmniejszając rozmiar kodu.
| Operacja | Zastosowane | Uwagi |
|---|---|---|
| Usuń komentarze liniowe i blokowe | ✅ | Komentarze licencyjne (/*! ... */) mogą być zachowane poprzez konfigurację/API |
| Zwijanie białych znaków i nowych linii | ✅ | Białe znaki znormalizowane tam, gdzie jest to semantycznie bezpieczne; zawartość ciągów znaków i wyrażeń regularnych zachowana |
| Stałe składanie i proste wstawianie | ✅ | Tylko gdy wynik jest udowodnialnie równoważny |
| Eliminacja martwego kodu | ✅ | Usuwa gałęzie niedostępne po propagacji stałych |
| Mangling identyfikatorów | ✅ Opcjonalne | Skraca nazwy zmiennych i funkcji; konfigurowalne przez zaawansowane opcje/API |
| Pomijanie pomocników debugowania (console/debugger) | ✅ Opcjonalne | Można włączyć, gdy nie polegasz na wyjściu konsoli w produkcji |
Kontrole Bezpieczeństwa i Kompatybilności
Zaawansowane opcje (dostępne głównie przez narzędzia budowania/API) pomagają dostroić, jak agresywna powinna być minifikacja.
| Opcja | Domyślne | Wyjaśnienie |
|---|---|---|
| cel ecma | 2020 | Kontroluje składnię wyjściową i niektóre reguły kompresji |
| moduł vs skrypt | skrypt | Włącz optymalizacje modułów/najwyższego poziomu dla pakietów ESM |
| keep_fnames / keep_classnames | false | Zachowuje nazwy dla lepszych śladów stosu lub frameworków DI |
| safari10 / dziwactwa starsze | wyłączone | Włącz tylko przy celowaniu w konkretne starsze silniki |
| toplevel | false | Pozwala na pomijanie nieużywanych wiązań najwyższego poziomu dla zaawansowanego tree-shaking |
Typowa Redukcja Rozmiaru
Oszczędności różnią się w zależności od oryginalnego formatowania, gęstości komentarzy i ilości martwego kodu.
| Styl Wejściowy | Tylko Kompresja | Kompresja + Mangle (Agresywna) |
|---|---|---|
| Bardzo skomentowany i rozstawiony | 35%–55% | 50%–70% |
| Umiarkowanie sformatowany kod aplikacji | 20%–35% | 35%–55% |
| Już skompaktowany kod | 5%–15% | 10%–25% |
Alternatywy CLI dla Budowania Produkcyjnego
Dla pełnych aplikacji i projektów wieloplikowych, zintegruj minifikację do swojego potoku CI/CD.
Node.js
Terser (typowy przypadek)
npx terser src/app.js -o dist/app.min.js -c ecma=2020,passes=2 -mDwa przejścia kompresji plus mangle identyfikatorów dla silnej redukcji rozmiaru.
Terser z zarezerwowanymi nazwami i drop_console
npx terser src/app.js -o dist/app.min.js -c passes=2,drop_console=true -m reserved=["React","ReactDOM"] --keep-fnamesChroń ważne zmienne globalne, usuń wywołania konsoli i zachowaj nazwy funkcji do debugowania.
Linux/macOS/Windows
esbuild (bardzo szybki)
npx esbuild src/app.js --minify --target=es2018 --outfile=dist/app.min.jsPakuj i minifikuj w jednym, bardzo szybkim kroku.
SWC (oparty na Ruskie)
npx swc src -d dist --minifyTranspiluj i minifikuj za pomocą wysokowydajnego silnika Rust.
Typowe Zastosowania
Wydajność Sieciowa & Core Web Vitals
- Zmniejsz rozmiar transferu JavaScript dla szybszego LCP i TTI
- Usuń komentarze debugowania i logowanie przed wdrożeniem
- Zmniejsz paczki klienckie przed kompresją gzip/brotli
/* komentarz tylko do budowania, który zostanie usunięty w zminifikowanym wyniku */CI/CD i Automatyzacja Wydań
- Minifikuj JS jako ostatni krok w potoku budowania
- Przygotuj małe, przyjazne dla cache paczki dla CDN
- Generuj gotowe do produkcji zasoby wraz z minifikatorami HTML/CSS
Widgety, Osadzenia & Eksperymenty
- Wysyłaj zwarte fragmenty kodu przez menedżery tagów
- Osadzaj zminimalizowane widżety na stronach osób trzecich
- Eksperymentuj z różnymi strategiami kompresji na krytycznych skryptach
❓ Frequently Asked Questions
Czy minimalizacja JavaScript zmieni działanie mojego kodu?
Czy to narzędzie obsługuje bezpośrednio TypeScript lub JSX?
Czy mój JavaScript jest przesyłany na serwer?
Jak duży może być mój plik JavaScript?
Jaka jest różnica między formatowaniem a minimalizacją?
Pro Tips
Zdefiniuj NODE_ENV=production (lub odpowiednik) w swoim bundlerze, aby odblokować dodatkowe usuwanie martwego kodu w wielu bibliotekach.
Przechowuj nieminalizowane źródła (i, dla dużych aplikacji, mapy źródłowe) w kontroli wersji i udostępniaj tylko zminimalizowane zasoby w produkcji.
Używaj zarezerwowanych nazw podczas zmiany nazw, aby chronić publiczne API dostępne przez window lub globalThis.
Połącz minimalizację z gzip lub brotli na poziomie CDN lub serwera, aby uzyskać multiplikatywne oszczędności rozmiaru.
Additional Resources
Other Tools
- Upiększacz CSS
- Upiększacz HTML
- Upiększacz JavaScript
- Upiększacz PHP
- Wybór koloru
- Ekstraktor sprite'ów
- Dekoder Base64
- Koder Base64
- Formatowanie C#
- Formatowanie CSV
- Dockerfile Formatter
- Formatowanie Elm
- Formatowanie ENV
- Formatowanie Go
- Formatowanie GraphQL
- Formatowanie HCL
- Formatowanie INI
- Formatowanie JSON
- Formatowanie LaTeX
- Formatowanie Markdown
- Formatowanie Objective-C
- Php Formatter
- Formatowanie Proto
- Formatowanie Python
- Formatowanie Ruby
- Formatowanie Rust
- Formatowanie Scala
- Formatowanie skryptów powłoki
- Formatowanie SQL
- Formatowanie SVG
- Formatowanie Swift
- Formatowanie TOML
- Typescript Formatter
- Formatowanie XML
- Formatowanie YAML
- Formatowanie Yarn
- Minifikator CSS
- Html Minifier
- Minifikator JSON
- Minifikator XML
- Przegląd nagłówków HTTP
- PDF do tekstu
- Tester wyrażeń regularnych
- Sprawdzanie pozycji w SERP
- Wyszukiwanie Whois