35 Stimmen

Bester Javascript-Compiler/Minifier

Ich erinnere mich, dass ich auf github einen neuen Javascript-Compiler/Minifier gesehen habe, der sogar besser sein soll als Googles Closure-Compiler. Leider kann ich mich nicht erinnern, seinen Namen und finden Sie es wieder. Vielleicht kann mir jemand helfen? :)

Danke, Corin

34voto

Bryan Downing Punkte 14596

Möglicherweise UglifyJS ? Es ist der Minifier, den das jQuery-Projekt derzeit verwendet.

Sehen Sie sich diese Geschwindigkeitsvergleiche .

19voto

Samuel Punkte 1275

Siehe die Statistik src: http://axod.blogspot.ca/2010/01/google-closure-compiler-advanced-mode.html

vergleiche JSMin, von Douglas Crockford und Yahoo! YUI

Minifier           | Bytes   |% of original| gz Bytes | gz % original
None               | 428,264 |    100%     |   91,750 |     100%
JSMin              | 249,372 |     58%     |   57,338 |     62%
YUI                | 235,214 |     55%     |   55,990 |     61%
Closure (STANDARD) | 219,446 |     51%     |   53,515 |     58%
Closure (ADVANCED) | 166,774 |     39%     |   47,372 |     52%

Closure bringt die Idee eines Javascript Minifiers einen Schritt weiter. Es führt eine echte Kompilierung durch, um ungenutzten Code zu entfernen, fügt Variablen ein und schreibt den Code neu, um ihn so klein wie möglich zu machen.

Als Referenz können Sie die Google Closure Compiler UI hier aufrufen http://closure-compiler.appspot.com/home

12voto

John Punkte 5388

AFAIK Closure Compiler's ADVANCED-Modus ist das einzige Spiel in der Stadt, wenn Sie globale toten Code Entfernung (aka Baum schütteln) und Optimierung wollen. Das ist der Grund, warum Projekte wie emscripten und ClojureScript, und Dart javascript Übersetzer verwenden es.

0voto

Robert Munn Punkte 768

Dies ist eine alte Frage, aber ich bin auf einige neue Informationen gestoßen und wollte sie mit Ihnen teilen. Ich fand einen spezialisierten Minifier auf GitHub namens RegPack, https://github.com/Siorki/RegPack . Ich sage "spezialisiert", weil es für die Optimierung kleiner (1KB-4KB) Dateien gedacht ist und mit Canvas-, WebGL- und Audiokomponenten in JavaScript arbeitet. Die Ergebnisse sind ziemlich verblüffend, aber auch spezifisch für die Art von JavaScript, die Sie schreiben.

Nachdem ich das festgestellt habe, habe ich gerade den Closure Compiler im Standardmodus gegen eine von mir geschriebene Bibliothek laufen lassen, https://github.com/robertdmunn/gadget-ui um die Ausgabe mit UglifyJS zu vergleichen, das ich über Grunt verwende. Der Basiscode ist 20KB, Uglifier und Closure Compiler (std-Modus) beide machten es 10KB. Für die meisten Anwendungsfälle sehe ich das als gut genug an. Der erweiterte Modus von Closure reduzierte ihn nur auf 9KB. Für Grenzfälle - Web-Skala - sind 10 % weniger anständig. Bedenken Sie jedoch, dass die Dateigröße durch gzip-Komprimierung meiner Erfahrung nach um 60-80% reduziert wird, so dass die 10%ige Reduzierung im erweiterten Modus nur 2-4% über dem Standardmodus liegt, wenn Sie gzip verwenden. 2-4% sind im Web-Maßstab wertvoll, aber für die meisten Entwickler sind sie die potenziellen Probleme nicht wert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X