JavaScript-Dateien komprimieren mit "JSMin"

09.10.2009

Douglas Crockford dürfte den meisten JavaScript-Entwicklern ein Begriff sein. Von ihm stammt unter anderem das O’Reilly-Buch „JavaScript: The Good Parts sowie eine Website mit umfangreichen Infos zu JavaScript. Auf Letzterer findet sich auch „JSMin„, ein JavaScript-Minifier, der alle Kommentare und überflüssige Zeichenen entfernt oder ersetzt, und somit eine JavaScript-Datei auf etwa die Hälfte ihrer ursprünglichen Größe reduziert.

Für JSMin existiert auch ein Ant-Task, mit dem die JS-Komprimierung leicht in den Build-Prozess eingebunden werden kann, z.B. beim Bauen des war- oder ear-Files zur Auslieferung an den Kunden:

<jsmin force="true">
<fileset dir="${path.to.my.js.files}">
<include name="**/*.js" />
</fileset>tag
</jsmin>

Das „force=true“ erlaubt das Überschreiben der JS-Dateien, daher sollte die oben gezeigte Operation nur auf einer Kopie, und nicht auf den Original-Quelldateien ausgeführt werden. Alternativ kann auch ein Zielverzeichnis definiert werden. Allerdings werden die komprimierten Dateien dann einfach flach dort hinein kopiert, ohne eine eventuelle Unterverzeichnis-Hierarchie des Quellverzeichnisses im Zielordner nachzubilden.

Als weitere Optimierungsmaßnahme (gemäß den drei C’s „Combine, Compress & Cache“) könnten die JavaScript-Dateien vor dem Komprimieren mit dem <concat> Task zu einer einzigen großen Datei zusammengefügt werden – das vermindert die benötigte Anzahl von Requests beim Laden der Applikation.

P.S.: Natürlich sollte es weiterhin möglich sein, die Applikaton für die Entwicklung ohne JS-Komprimierung zu bauen. Mit den komprimierten JS-Dateien ist das Debuggen so gut wie unmöglich.

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*