Wie der JavaScript Minifier arbeitet
Der JavaScript Minifier verwendet Terser, den verbreiteten Minifier für modernes JavaScript ab ES2015. Klassen, Arrow-Functions, Template-Strings, Destructuring, async/await und ES-Module werden unterstützt. JSX und TypeScript dagegen nicht: Diesen Code müssen Sie zuerst in normales JavaScript übersetzen.
Die Option Komprimieren analysiert den Code und vereinfacht ihn: Unerreichbarer Code und ungenutzte Variablen werden entfernt, Bedingungen und Ausdrücke werden kürzer geschrieben, Konstanten werden eingesetzt. Die Option Mangle ersetzt lokale Variablen- und Funktionsnamen durch kurze Namen wie a, b oder c. Globale Namen und Objekt-Eigenschaften bleiben dabei unverändert, damit der Code mit anderen Skripten weiter funktioniert.
Zusätzlich können Sie alle console.*-Aufrufe entfernen, was für Produktionscode sinnvoll ist, und Lizenzkommentare mit /*! oder @license behalten. Bei Syntaxfehlern zeigt das Werkzeug die Meldung des Parsers mit Position an, statt fehlerhaften Code auszugeben. Größe vorher, nachher und die Ersparnis in Prozent sehen Sie direkt. Wie viel kleiner der Code wird, hängt vom Ausgangsmaterial ab. Ausführlich kommentierter Code mit langen, sprechenden Variablennamen schrumpft am stärksten, besonders wenn Mangle aktiv ist. Wenn Sie mit dem minifizierten Code später noch Fehler suchen müssen, können Sie Mangle ausschalten und nur komprimieren: Die Namen bleiben dann lesbar, und Stacktraces sind leichter zu verstehen. Die Option zum Entfernen von console.* löscht auch Aufrufe wie console.warn und console.error, prüfen Sie also, ob Ihr Code diese bewusst nutzt.
Der Code verlässt Ihren Browser nicht. Kostenlos können Sie eine Datei oder einen eingefügten Text minifizieren und denselben Text anschließend mit anderen Optionen erneut verarbeiten. Für neue Eingaben, mehrere .js-, .mjs- oder .cjs-Dateien gleichzeitig mit ZIP-Download und werbefreie Nutzung gibt es ToolStudio Pro, jederzeit kündbar.
So minifizieren Sie JavaScript
- JavaScript einfügen oder eine .js-, .mjs- oder .cjs-Datei ablegen bzw. auswählen.
- Optionen setzen: Komprimieren, Mangle (Namen kürzen), Lizenzkommentare behalten, console.* entfernen.
- Minifizierung starten; bei einem Syntaxfehler erscheint die Meldung des Parsers.
- Größe vorher und nachher sowie die Ersparnis prüfen.
- Ergebnis kopieren oder herunterladen.
Wann ein JS Minifier hilft
- Einzelne Skripte für Websites ohne Bundler produktionsreif machen.
- Bookmarklets und kleine Snippets möglichst kurz halten.
- Debug-Ausgaben mit console.log vor der Veröffentlichung entfernen.
- Tracking- oder Widget-Code, der in fremde Seiten eingebunden wird, verkleinern.
- Schnell prüfen, wie stark sich eine Bibliothek verkleinern lässt.
Komprimieren und Mangle im Vergleich
- Komprimieren: if (DEBUG) { ... } mit DEBUG = false fällt ganz weg; if (a) { b(); } wird zu a&&b().
- Mangle: function berechne(preis, menge) { return preis * menge; } wird zu function berechne(n,e){return n*e}.
- Nur Leerraum entfernen: Beide Optionen ausschalten, dann werden lediglich Leerzeichen und Kommentare entfernt.
- Eigenschaftsnamen wie obj.preis bleiben in jedem Fall erhalten.
Häufig gestellte Fragen
Kann ich TypeScript oder JSX minifizieren?
Nein. Terser verarbeitet nur JavaScript. Übersetzen Sie TypeScript oder JSX zuerst in JavaScript.
Lässt sich minifizierter Code wieder lesbar machen?
Mit dem JavaScript Formatter können Sie ihn neu einrücken. Gekürzte Variablennamen lassen sich aber nicht wiederherstellen.
Bricht Mangle meinen Code?
Mangle kürzt nur lokale Namen. Globale Variablen und Eigenschaften bleiben gleich. Probleme entstehen nur, wenn Code auf Funktionsnamen per String zugreift.
Werden Lizenzhinweise entfernt?
Nicht, wenn Sie die Option zum Behalten aktivieren: Kommentare mit /*! oder @license bleiben dann erhalten.
Wird mein Code hochgeladen?
Nein, Terser läuft direkt in Ihrem Browser.
Ist das Werkzeug kostenlos?
Eine Datei oder ein eingefügter Text ist kostenlos; denselben Text können Sie danach mit anderen Optionen erneut minifizieren. Für neue Eingaben brauchen Sie ToolStudio Pro: unbegrenzt, mehrere Dateien als ZIP, ohne Werbung, jederzeit kündbar.