Online Javascript Minify im Vergleich zu UglifyJS, Terser und Google Closure Compiler| Online Javascript Minify | UglifyJS | Terser | Google Closure Compiler |
|---|
| Minifizierungs-Engine: Die DigitalOcean-Seite beschreibt sich selbst als interaktive Weboberfläche für Terser, daher ist die Ausgabe das, was Terser erzeugt, und nicht ein separater Algorithmus. | Minifizierungs-Engine: UglifyJS ist ein JavaScript-Parser, -Mangler und -Kompressor. Terser ist ein Fork der ES6+-Variante (uglify-es), und beide verwenden größtenteils dieselbe API und Befehlszeile. | Minifizierungs-Engine: Terser ist die Engine, die von der DigitalOcean-Seite umschlossen wird. Bei direkter Verwendung stellt sie die Optionen compress, mangle, mangle-props, format und parse zur Verfügung. | Minifizierungs-Engine: Der Closure Compiler ist ein separater, Java-basierter Compiler. Er verkürzt nicht nur den Code, sondern prüft auch Syntax, Variablenreferenzen und Typen und warnt vor häufigen JavaScript-Fehlern. |
| Sprachunterstützung: Terser, die Engine hinter der Seite, wird als Toolkit für ES6+-Code beschrieben. | Sprachunterstützung: Das Projekt gibt an, JavaScript und die meisten ECMAScript-Sprachfunktionen zu unterstützen. Für komplexere Funktionen wird empfohlen, diese zunächst mit einem Tool wie Babel zu transpilieren. | Sprachunterstützung: Terser wird als Toolkit für ES6+ beschrieben. Die ECMA-Option kann auf 2015 oder höher eingestellt werden, um ES6+-Ausgabetransformationen zu ermöglichen. | Sprachunterstützung: Typinformationen können mit Annotationen in Kommentaren deklariert werden, die der Compiler bei seinen Prüfungen verwendet. |
| Optimierungsstufen: Im Seitentext werden keine einzelnen Einstellungen aufgeführt. | Optimierungsstufen: Das Verhalten wird über die Optionen compress und mangle in der Kommandozeile oder über die minify()-API angepasst. | Optimierungsstufen: Das Verhalten wird über die Optionen compress, mangle, mangle-props und format angepasst. | Optimierungsstufen: Der Parameter `--compilation_level` akzeptiert die Optionen `BUNDLE`, `WHITESPACE_ONLY`, `SIMPLE` (Standard) und `ADVANCED`. Laut Projektbeschreibung profitiert der Compiler am meisten davon, wenn er den gesamten Quellcode auf einmal erhält, wodurch der Modus `ADVANCED` aktiviert wird. Alle anderen Modi sind veraltet. |
| Installation und Automatisierung: Keine Installation erforderlich: Der Code wird im Browser eingegeben. Auf der Seite findet sich keine Beschreibung der Verwendung in einer Build-Pipeline. | Installation und Automatisierung: Installiert mit npm, global für die Kommandozeile oder lokal für die programmatische Nutzung, mit einer aktuellen Node.js-Version. | Installation und Automatisierung: Installation mit npm, global oder lokal. Die API bietet eine asynchrone minify()-Funktion und eine minify_sync()-Funktion. | Installation und Automatisierung: Verfügbar über npm (Pakete, die von einem Drittanbieter und nicht von Google verwaltet werden), als vorkompilierte Maven-Version oder aus dem Quellcode erstellt, wofür Java 21 oder höher, Node.js, Git und Bazelisk benötigt werden. |
| Quellkarten: Source Maps werden mit der Option `--source-map` in der Kommandozeile oder mit der Option `sourceMap` in `minify()` aktiviert, einschließlich der Komposition mit Eingabe-Source-Maps. | Quellkarten: Source Maps werden mit `--source-map` oder `sourceMap` aktiviert. Zu den Optionen gehören `filename`, `url`, `root`, `content` und `includeSources`, und die API gibt die Map in `result.map` zurück. | |