In einem anderen Beitrag hatte ich ja schon geschrieben, wie man textbasierte Inhalte komprimiert übertragen kann. Trotzdem sollte bereits die Ursprungsdatei so klein wie möglich sein. Glücklicherweise gibt es für solche Zwecke ja “JS Minifier”, die vor allem Leerzeilen, Kommentarzeilen und Zeilenumbrüche aus der datei entfernen. Klappt auch super, außer mit der jquery.shopware.js . Hat das jemand von Euch schon mal erfolgreich hinbekommen, ohne dass das Ajax auf der Seite danach nicht mehr funktioniert?
Also ich habe das immer über einen Onlinedienst gemacht … http://compressorrater.thruhere.net/ Weiß jetzt aber nicht mehr, welchen Kompressor ich genau verwendet habe. Jedenfalls gab es da keine Probleme mit der jquery.shopware.js - die ließ sich problemlos komprimieren!
Ich habe “All JS minified” als Tool des YSlow! Plugins für Firebug genutzt. Danach fehlte mir nach dem Drüberkopieren und Neuladen der Seite bereits der ausklappbare Warenkorb. Ich versuche es heute Abend mal mit JSMin und teile Euch das Ergebnis mit. Hoffentlich ist das nicht das selbe Tool. Für kommende Shopware-Versionen wäre es nicht schlecht, wenn gleich die minifizierte Datei mitgeliefert würde und die bisherige als “.debug.js” mitgeliefert, falls jemand in den Code gucken möchte. Bei der jquery.1.4.2-minified.js macht ihr das ja auch schon so und es bringt schon so einiges, wenn wenigstens die Kommentarzeilen aus dem produktiven Code raus sind, auch wenn die “Minifizierung” hier bereits von jQuery kommt. Apropos jQuery: Ich habe mal spaßeshalber die aktuelle 1.4.4 genommen, die allerdings auch nicht funzt. Es gibt von 1.4.2 zu 1.4.4 wohl ein paar nicht abwärtskompatible Änderungen und die Shopware scheint etwas davon zu nutzen.
Wollte nur nochmal Feedback geben: Die jquery.shopware.js läßt sich ohne Funktionseinbußen mit Firefox Add-on Pagespeed von Google minifizieren. Für Pagespeed gibt es übrigens ein nettes serverseitiges Pendant für den Apache2 Webserver als Modul: mod_pagespeed . In der aktuellen (Beta-)Version habe ich es mit Shopware auch gestern zum ersten Mal erfolgreich zum Einsatz gebracht, ohne dass (wie bei Vorgängerversionen) das Backend plötzlich nicht mehr mitspielen wollte.
Wir haben für dieses Problem heute ein Plugin veröffentlicht: http://store.shopware.de/sonstiges/cssjscompressor Damit ist es nicht notwendig mod_pagespeed zu installieren, da dieses oftmals bei den Hostern nicht zur Verfügung steht.