CodeKitHub
Nástroje pro kód

JavaScript Minifier a Formátovač

Naposledy aktualizováno:

Vložte JavaScript níže pro minifikaci — zkrácení názvů proměnných, odstranění mezer a mrtvého kódu — nebo ho zformátujte do čitelné, odsazené podoby. Obě operace zpracují váš kód do skutečného syntaktického stromu místo textových triků, takže regulární výrazy, template stringy a scoping se zpracují správně.

Co je tento nástroj?

JS minifier přepisuje kód tak, aby byl co nejmenší, a přitom se choval identicky: tam, kde je to bezpečné, zkracuje názvy proměnných a funkcí, odstraňuje komentáře a mezery, sbaluje konstanty a eliminuje nedosažitelný kód.

Tento nástroj je postaven na Terseru, minifikátoru založeném na AST, který používá webpack, Vite, Rollup a většina moderních build nástrojů pro JavaScript. Protože kód skutečně parsuje místo porovnávání textových vzorů, správně rozliší operátor dělení od regulárního výrazu, nerozbije template stringy obsahující sekvence vypadající jako //, a nepřejmenuje proměnnou na název kolidující s něčím ve vnějším scope.

Proč ho používat?

  • Minifikace založená na AST (Terser), stejný engine, jaký používají velké bundlery — bezpečná u regulárních výrazů, template stringů a closures.
  • Zkracuje názvy proměnných pro skutečnou úsporu velikosti, ne jen odstranění mezer.
  • Přesně vidíte, kolik bajtů a kolik procent jste ušetřili.
  • Režim formátování promění zaobfuskovaný, jednořádkový minifikovaný JS zpět na čitelný, odsazený kód — užitečné pro pochopení skriptů třetích stran.
  • 100% zpracování na straně klienta — proprietární kód nikdy neopustí váš prohlížeč.

Jak se používá

  1. Vložte svůj JavaScript do vstupního pole, nebo klikněte na "Load Example" pro vyzkoušení na ukázce s regulárním výrazem a template stringem.
  2. Klikněte na "Minify" pro zmenšení, nebo na "Format" pro zformátování s odsazením 2 mezerami.
  3. Zkontrolujte zprávu pod poli — režim minifikace ukáže zmenšení velikosti; syntaktická chyba ve vašem kódu se zobrazí jako jasná zpráva místo tichého vygenerování poškozeného výstupu.
  4. Klikněte na "Copy" pro zkopírování výsledku.

Příklad

Vstup

function greet(name) {
  const pattern = /^[a-z]+$/i;
  const msg = `Hello, ${name}!`;
  if (pattern.test(name)) {
    // simple check
    return msg;
  }
  return "Hi there";
}

Výstup

function greet(n){const e=/^[a-z]+$/i,g=`Hello, ${n}!`;return e.test(n)?g:"Hi there"}

Názvy proměnných jsou zkráceny, komentář a if-příkaz jsou sbaleny do výrazu, ale regulární výraz a template string jsou zachovány přesně a chování se nezměnilo.

Praktické tipy

  • Minifikujte při buildu, ne ručním upravováním — čitelný zdrojový kód si nechte ve verzovacím systému a minifikovaný balíček generujte jako krok buildu.
  • Pokud se minifikovaný výstup chová neočekávaně, zkontrolujte kód spoléhající na Function.prototype.name nebo reflexi — zkracování názvů přejmenovává funkce a to se může v ojedinělých případech projevit.
  • Zformátování skriptu třetí strany před čtením je mnohem rychlejší než snažit se rozparsovat jeden 2000znakový řádek.
  • Zkombinujte s HTML a CSS minifikátory níže, pokud připravujete kompletní statický balíček pro nasazení.

Kde se to hodí v reálné praxi

JavaScript je obvykle největší asset blokující vykreslení nebo zpracování na stránce, takže jeho minifikace má reálný, měřitelný dopad na dobu načítání — víc než HTML nebo CSS bajt po bajtu. Většina moderních frameworků to dělá automaticky při buildu, ale ručně psané skripty, rozšíření prohlížeče a bookmarklety se často nasazují neminifikované, pokud je někdo neprožene nástrojem, jako je tento.

Směr formátování se běžně používá i opačně: ladění produkční chyby z minifikovaného stack trace je mnohem jednodušší, jakmile je okolní kód přeformátovaný a čitelný, i bez původních názvů proměnných.

HTML Minifier · CSS Minifikátor

Časté případy použití

  • Zmenšení samostatného skriptu nebo bookmarkletu před zveřejněním.
  • Přeformátování minifikovaného skriptu staženého z živého webu pro pochopení, co dělá.
  • Vyčištění JavaScriptu vloženého z příspěvku na fóru nebo úryvku vygenerovaného AI před pečlivým přečtením.
  • Rychlá kontrola, zda ručně psaný úryvek JS obsahuje syntaktickou chybu, protože selhání parsování se projeví jako explicitní zpráva.

Časté dotazy

Nahrává se můj JavaScript někam?

Ne. Minifikace i formátování probíhají lokálně v prohlížeči pomocí JavaScriptu. Nic, co vložíte, se neposílá na server, což je bezpečné pro proprietární nebo nezveřejněný kód.

Je bezpečné nasadit minifikovaný JavaScript — nerozbije mi to kód?

Je postaven na Terseru, minifikátoru založeném na AST, kterému věří webpack, Vite a Rollup pro produkční buildy, takže JavaScript skutečně parsuje místo hádání z textu. Přesto se jakýkoli minifikátor občas může nepříznivě potkat s kódem, který spoléhá na function.name, eval() nebo nestandardní globální proměnné — po minifikaci svůj balíček otestujte, stejně jako u jakéhokoli build nástroje.

Obfuskuje minifikace můj kód?

Zkracuje názvy proměnných a odstraňuje strukturu, což ztěžuje čtení kódu, ale nejde o skutečnou obfuskaci ani ochranu — kdokoli ho může poslat přes formátovač (jako tlačítko Format zde) a přečíst logiku. Nespoléhejte na minifikaci při skrývání tajemství nebo obchodní logiky.

O kolik se JavaScript typicky zmenší?

Ručně psaný kód s dlouhými názvy proměnných, komentáři a mezerami se běžně zmenší o 50–70 % díky minifikaci a zkracování názvů. Kód už vygenerovaný bundlerem ušetří méně.

Můžu přečíst minifikovaný JavaScript z webu, který zkoumám?

Ano — vložte ho a klikněte na "Format" pro opětovné odsazení. Názvy proměnných budou stále krátké a bezvýznamné, protože minifikace už zahodila originály, ale struktura se stane čitelnou.

Související nástroje