JavaScript-Minifizierer
Kleiner – und nachweislich derselbe Code.
Beispiele ersetzen vorübergehend Eingabe und Einstellungen. Du kannst deine vorherige Arbeit wiederherstellen.
Oben einfügen oder tippen, das Ergebnis erscheint hier.
Ihre Dateien bleiben auf Ihrem Gerät
Dieses Tool läuft vollständig in Ihrem Browser. Was Sie einfügen, wird auf Ihrem Gerät verarbeitet und nie an einen Server gesendet. Es ist daher auch für Tokens, Schlüssel und unveröffentlichte Texte sicher.
Beispiel
Beispiel: Versandkosten-Skript einer Buchhandlung, von 754 auf 470 Zeichen
Die Buchhandlung Lindenblatt prüft im Warenkorb die Postleitzahl (fünf Ziffern) und rechnet den Versand in Cent: ab 50 € frei, sonst 4,90 €. 28 Zeilen, 754 Zeichen, sechs Kommentare. Einstellung: Minifizieren.
- Die Zahlen: vorher 754, nachher 470, gespart 38 %. Aus 28 Zeilen werden 5, alle sechs Kommentare fallen weg, auch das // Cent hinter den Konstanten.
- Der reguläre Ausdruck /^\d{5}$/ bleibt Zeichen für Zeichen erhalten, cent / 100 bleibt eine Division. Zwischen = und Schrägstrich bleibt ein Leerzeichen: Operatorzeichen werden nie zusammengeschoben.
- Nach dem } von if (!plzGueltig(plz)) beginnt die nächste Zeile mit return. Diesen Umbruch kann das Werkzeug nicht als sicher beweisen, also bleibt er stehen.
- Beide Fassungen rechnen gleich: 37,90 € Warenwert an PLZ 79098 kosten 4,90 € Versand, die PLZ 7909 ergibt null, und der Hinweis lautet „Noch 12,10 € bis zum kostenlosen Versand“.
| Stelle | vorher | nachher |
|---|---|---|
| Konstante | const FREI_AB = 5000; // Cent | const FREI_AB=5000; |
| PLZ-Muster | const muster = /^\d{5}$/; | const muster= /^\d{5}$/; |
| Versand | return summeCent >= FREI_AB ? 0 : PAUSCHALE; | return summeCent>=FREI_AB?0:PAUSCHALE; |
| Ganze Datei | 28 Zeilen, 754 Zeichen | 5 Zeilen, 470 Zeichen (38 % gespart) |
plzGueltig, versand und hinweis behalten ihre Namen, die Seite ruft sie unverändert auf. Die 470 Zeichen ersetzen die alte Datei; die Strings wie „Versandkostenfrei“ stehen darin genau wie vorher.
So funktioniert es
- Das JavaScript einfügen.
- Kommentare und Einrückung verschwinden; Namen bleiben genau, wie sie waren.
- Die Ersparnis in den Zahlen über der Ausgabe prüfen.
- Das Ergebnis kopieren oder herunterladen.
Häufige Fragen
- Warum werden meine Variablennamen nicht gekürzt?
- Weil Umbenennen einen echten Parser und eine Gültigkeitsbereichsanalyse braucht, und wer das subtil falsch macht, liefert eine Datei aus, die läuft, bis sie es nicht mehr tut. Ein Werkzeug, das weniger verspricht und immer recht hat, ist für etwas, das Sie gleich ausliefern, der bessere Tausch.
- Erkennt es einen regulären Ausdruck von einer Division?
- Ja – das ist der einzig wirklich schwierige Teil daran, JavaScript ohne Parsen zu lesen. Ein Schrägstrich nach einem Wert oder einer schließenden Klammer ist Division; nach einem Operator, einer öffnenden Klammer, einem Komma, einem Wort wie return oder typeof oder am Anfang eröffnet er einen regulären Ausdruck. So überleben x = /ab+c/g und return /a b/.test(s) samt Leerzeichen, und total/count bleibt Division.
- Bricht es die automatische Semikolon-Ergänzung?
- Nein. Ein Zeilenumbruch kann für ein Semikolon stehen, also werden Zeilen nur zusammengezogen, wenn die Zeile davor auf einen Operator, ein Komma oder eine öffnende Klammer endet oder diese mit einer schließenden Klammer, einem Punkt oder Komma beginnt. Eine Zeile, die auf ++ oder -- oder auf einen regulären Ausdruck endet, behält ihren Umbruch – auch Code ohne Semikolons läuft danach.
- Wird mein Lizenzkopf entfernt?
- Nein. Ein Block, der mit /*! beginnt, und jeder Kommentar mit @license oder @preserve bleibt genau so, wie er geschrieben ist, samt Zeilenumbrüchen und auf eigener Zeile. Alle übrigen // und /* */ gehen, auch JSDoc-Blöcke mit /**.
- Wird die Ersparnis in Bytes gezählt?
- In Zeichen: vorher und nachher sind die Länge des Textes, wie JavaScript sie zählt. Bei Code nur aus ASCII-Zeichen ist das dasselbe wie Bytes; ein Umlaut wie ä braucht in UTF-8 zwei Bytes, eine Datei mit deutschen Kommentaren spart in Bytes also etwas mehr, als der Prozentwert zeigt.
- Wird etwas an einen Server geschickt?
- Nein. Es läuft im Browser, was Sie einfügen, bleibt auf Ihrem Rechner.