JavaScript Minifizieren und Formatieren - Terser im Browser
JavaScript minifizieren und formatieren
Kurze lokale Namen sparen die meisten Bytes, zerstören aber Code, der Namen als Text nachschlägt - in eval, new Function oder einem Framework, das Parameternamen liest. Schalten Sie es ab, wenn Sie darauf bauen.
Was dieses Werkzeug leistet
JavaScript zu minifizieren heißt nicht, Leerzeichen zu entfernen. Per Suchen-und-Ersetzen entstehen Dateien, die gut aussehen und sich anders verhalten - und der Unterschied zeigt sich in der Produktion. Diese Seite lässt Terser, die Maschine hinter dem Build-Schritt der meisten Projekte, in Ihrem Browser laufen.
So funktioniert es
- 1 JavaScript in das Feld einfügen.
- 2 Ziel wählen und entscheiden, ob Namen gekürzt werden.
- 3 Minifizieren drücken - oder Formatieren, um eine minifizierte Datei wieder zu öffnen.
Warum ein Parser und kein Suchen-und-Ersetzen
JavaScript setzt Semikolons dort, wo Sie sie weggelassen haben. Entfernen Sie den Zeilenumbruch zwischen „return“ und dem Wert, und die Funktion liefert plötzlich undefined - die Datei bleibt gültig, sie tut nur etwas anderes. Dasselbe Zeichen bedeutet einmal Division und einmal regulären Ausdruck. Das zu unterscheiden braucht die Grammatik, kein Muster - deshalb nutzt diese Seite einen echten Parser.
Was tatsächlich kleiner wird
Leerraum und Kommentare sind der kleinste Teil. Die eigentliche Ersparnis kommt davon, lokale Variablen auf einzelne Buchstaben umzubenennen, getrennte Deklarationen zusammenzuziehen, Konstanten auszurechnen und niemals erreichbaren Code zu streichen. Alles Baumoperationen - der Minifizierer muss wissen, dass zwei Namen dieselbe Bindung meinen und dass nichts dazwischen sie liest.
Wo das Kürzen von Namen beißt
Ein Minifizierer kann umbenennen, was er sieht. Einen als Text geschriebenen Namen sieht er nicht: eval("count + 1"), new Function("a", "return a") oder ein Framework, das Parameternamen ausliest, um zu entscheiden, was es einsetzt. Die suchen weiter nach dem alten Namen und finden nichts. Das ist eine Eigenschaft der Sprache, kein Fehler des Werkzeugs - darum liegt der Schalter bei Ihnen.
Formatieren gibt nicht die Originaldatei zurück
Formatieren stellt Einrückung und Zeilenumbrüche wieder her, eine minifizierte Datei wird also wieder lesbar. Was weggeworfen wurde, kommt nicht zurück: Kommentare sind fort, und gekürzte Namen bleiben kurz - kein Werkzeug errät, dass „e“ einmal „errorMessage“ hieß. Zum Debuggen einer Produktionsdatei bringt nur eine Source Map das Original zurück.