Was ist der beste Weg, um das aggregierte Javascript von drupal (automatisch) zu minimieren?

10

Habe gerade Google Pagespeed über meine neu erstellte Drupal 6-Site ausgeführt und es wird berichtet:

Minifying the following JavaScript resources could reduce their size by 15.6KiB (12% reduction).

    Minifying http://[sites]/sites/default/files/js/js_9f19b87ffb72ca233ea7e45dda2f20f9.js could save 15.3KiB (18% reduction). See optimized version or Save as.

Die obige Datei wurde mit der Standard-JavaScript-Aggregationsmethode von drupal generiert, könnte aber anscheinend 18% kleiner sein (was für diese Site eine große Sache ist). Welcher Ansatz wird als der beste angesehen, wenn es darum geht, JavaScript auf einer Drupal-Site zu minimieren, ohne vorhandenen Code zu beschädigen?

wiifm
quelle
Ich denke nicht, dass dies wirklich eine Drupal-spezifische Frage ist, sie könnte sich auf eine Minimierung von JavaScript beziehen und sollte daher besser bei StackOverflow gestellt werden.
Entschlüsseln Sie den
4
Der drupal-spezifische Teil wäre, dass jede Lösung in drupal integriert und die JS-Kernaggregationsdateien durch minimierte Versionen ersetzt werden müsste. Titel geändert, um dies hoffentlich klarer zu machen
wiifm

Antworten:

4

Sie können das Javascript Aggregator-Modul dafür verwenden oder PageSpeed (das Apache-Modul, nicht die Firebug-Erweiterung) installieren, wenn Sie Apache verwenden und Erweiterungen (z. B. keinen gemeinsam genutzten Webhost) in Kombination mit Drupals eigener Aggregation mit dem zusätzlichen Vorteil von PageSpeed ​​installieren können könnte auch CSS minimieren.

Wildpeaks
quelle
Wenn Sie Nginx als Webserver verwenden, sind Sie sich nicht sicher, ob Google Pagespeed noch in diesen integriert ist
wiifm
In der Tat sind Sie mit dem Modul besser dran als PageSpeed.
Wildpeaks
6

Ich habe ein neues Modul erstellt, um einen Großteil des Aggregationsproblems anzugehen, und ich hoffe, einen großen Teil davon in D8 zu integrieren. und ja, es ist ein D6-Modul: http://drupal.org/project/advagg . Verwendet die jsmin + lib für die Komprimierung von JS und die CSSTidy lib für die CSS-Komprimierung. Der Hauptvorteil davon ist, dass die css / js-Aggregatdatei die Namen nur ändert, wenn dies erforderlich ist. Diese Dateien haben auch eine Cache-Lebensdauer von 1 Jahr und eine Imagecache-Generierung, sodass 404s für Ihre CSS-Datei der Vergangenheit angehören sollten.

Update: AdvAgg 7.x wird entwickelt und enthält eine Minimierung von JS als optionales Submodul. Weitere D7-Optionen:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs

mikeytown2
quelle
1
Aus der Beschreibung auf der Seite spüre ich einen subtilen Hinweis, dass ich dieses Modul installieren sollte: D Gute Arbeit, ich werde es ausprobieren.
Wildpeaks
1
Ja, ich habe dieses Modul für die Site ausprobiert. Das einzige Problem war, dass das CSS so minimiert wurde, dass die Site kaputt ging. Ich war mir nicht sicher, ob dies an der CSS-Minifizierungs-Engine oder an einem schlecht codierten CSS liegt;) Auf jeden Fall war ich erst nach der JS-Minifizierung, da der JS wesentlich größer als der CSS ist. Wird es in diesem Modul eine Option zum Deaktivieren der CSS-Minimierung geben?
Gute
Deaktivieren Sie einfach das CSS-Komprimierungsmodul. Es verwendet die CSSTidy-Bibliothek, wenn Sie sich fragen.
Mikeytown2
@ mikeytown2 Vielen Dank für dieses tolle Modul. Ich habe ein Problem mit einer meiner Websites CSS-Dateien manchmal nicht laden Frage ist hier [ drupal.stackexchange.com/questions/128649/… und Website-Link [ living.md/ ] Ich wanderte, wenn ich advgg verwende, muss ich aktivieren drupal Aggregieren und komprimieren Sie CSS-Dateien und aggregieren Sie JavaScript-Dateien. unter Leistung. Ich kann keine Dokumentation für das Modul finden. Gibt es einen Link zu einer Grundeinstellung?
Yama
2

Sie können das Minify- Modul verwenden, um dasselbe zu tun. Modul minimieren Minimieren Sie das JavaScript mit dem Google-Compiler. Es funktioniert auch mit "Aggregierte JavaScript-Dateien", sodass Sie auch mehrere JavaScript-Dateien kombinieren können, was in Drupal 7 die Standardoption ist.

Minify-Modul minimiert auch HTML.

Atul Bhosale
quelle