JavaScript komprimieren

Da ich mit dem letzten Tool nicht wirklich zu frieden war, habe ich mich mal wieder umgeschaut und bin dabei auf den YUI Compressor von Yahoo! gestoßen. Dieser hat mich sehr überzeugt und ist auch recht einfach zu bedienen.

Der Kompressor ist in Java geschrieben und benötigt eine Version ab 1.4, die bei Sun Microsystems heruntergeladen werden kann. Zudem benötigt man natürlich noch den YUI Compressor selbst, der aktuell in Version 2.4.2 vorliegt. Nach der Installation von Java (gerne auch davor oder während), könnt Ihr den YUI Compressor in ein beliebiges Verzeichnis entpacken, worauf dieser direkt einsatzbereit ist.

Das für die Komprimierung relevante Verze

ichnis ist der Ordner build. In diesem befindet sich eine .jar-Datei (yuicompressor-2.4.2.jar), die den Kern der Kompression durchführt.
Die zu komprimierende JavaScript Datei wird jetzt ebenfalls in dieses Verzeichnis kopiert. Anschließend muss wie so oft die Konsole bemüht werden, aber darin habe ich ja Dank Rails jetzt übung :D. In der Konsole navigiert Ihr zum build-Verzeichnis des YUI Compressors. Um eine JavaScript Datei quelljsdatei.js zu komprimieren gebt Ihr jetzt den folgenden Befehl ein. Dabei kann der Name der komprimierten Datei frei gewählt werden (hier zieljsdatei.js), nur am besten nicht gleich dem ursprünglichen Dateinamen.

java -jar yuicompressor-2.4.2.jar quelljsdatei -o zieljsdatei.js

So, das wars auch schon. Die Komprimierung erscheint recht gut zu sein und vor allem weiterhin korrekten JavaScript Code zu erzeugen.

zp8497586rq

Entwicklung

Kommentare

  1. Leif sagt:

    Hättest noch schreiben können, um wieviel % es am Ende kleiner war. Das fehlt hier irgendwie.

  2. Olli sagt:

    Das stimmt natürlich. Ich hab noch mal nachgeschaut, die minimierte Version ist am Ende 95 KB groß gewesen.

    Letztendlich kommt es aber natürlich auch sehr auf die Ursprungsdatei an, was man bei der Kompression noch rausholen kann.
    Wenn man viele Kommentare, viele Leerzeilen und Einrückungen o. ä. im Code hat, spart man natürlich mehr, als wenn man von vorne herein auf diese verzichtet.
    Zu diesen “trivialen” Möglichkeiten der Kompression kommen dann natürlich noch weitere hinzu, die einem in jedem Fall Verkleinerungspotenzial bieten.