web-dev-qa-db-fra.com

Quelle est la meilleure façon de minimiser (automatiquement) le javascript agrégé de drupal?

Je viens de lancer Google pagespeed sur mon nouveau site drupal 6 site, et il rapporte:

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.

Le fichier ci-dessus a été généré via la méthode d'agrégation JavaScript par défaut de drupal, mais il pourrait être 18% plus petit (ce qui est très important pour ce site). Quelle approche est considérée comme la meilleure lorsqu'il s'agit de réduire JavaScript sur un site drupal sans casser aucun code existant?

10
wiifm

Vous pouvez utiliser le module Javascript Aggregator pour cela ou installer PageSpeed (le module Apache, pas l'extension Firebug) si vous utilisez Apache et pouvez installer des extensions (par exemple pas un hébergeur partagé) ), combiné avec l'agrégation de Drupal, avec l'avantage supplémentaire que PageSpeed ​​pourrait également réduire le CSS.

4
wildpeaks

J'ai créé un nouveau module pour résoudre une grande partie du problème d'agrégation et j'espère en obtenir une grande partie dans D8; et oui c'est un module D6: http://drupal.org/project/advagg . Utilise jsmin + lib pour la compression de JS et la lib CSSTidy pour la compression CSS. Le principal avantage de ceci est que le fichier d'agrégation css/js ne change pas de nom à moins qu'il ne le doive; ces fichiers ont également une durée de vie de 1 an dans le cache et une génération de cache d'image, donc 404s dans votre fichier CSS devraient appartenir au passé.

Mise à jour: AdvAgg 7.x est en cours de développement et est livré avec la minification de JS en tant que sous-module optionnel. Autres options D7:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs

6
mikeytown2

Vous pouvez utiliser le module Minify pour faire de même. Module Minify minimiser le JavaScript à l'aide du compilateur Google. Il fonctionne également avec les "fichiers JavaScript agrégés" afin que vous puissiez également profiter de la combinaison de plusieurs fichiers JavaScript, qui est l'option par défaut dans Drupal 7.

Le module Minify réduit également le HTML.

2
Atul Bhosale