Comment fonctionne l'optimisation de la bande passante?

11

J'ai optimisé pour combiner tous les fichiers CSS et JavaScript dans mon site.

image 1.

Si j'exécute Yslow dans Firefox pour voir les composants chargés pour ce site, cela montre qu'il charge 8 fichiers JavaScript et 8 fichiers CSS.

image 2

Pourquoi ces fichiers ne sont-ils pas combinés?

chefnelone
la source

Réponses:

10

Les fichiers CSS et JS agrégés dans Drupal 7 sont divisés en groupes, vous obtiendrez donc naturellement plus de fichiers que vous n'en avez l'habitude dans Drupal 6.

Je n'entrerai pas dans le détail car il y a déjà un excellent article qui l'explique en détail.

D7 utilise une nouvelle stratégie pour résoudre ce problème - les agrégats sont divisés en trois groupes: CSS_SYSTEM, CSS_DEFAULT et CSS_THEME pour les styles et JS_LIBRARY, JS_DEFAULT et JS_THEME pour Javascript. Chaque groupe est en outre subdivisé en fichiers qui se chargent sur chaque page et en fichiers qui se chargent de manière conditionnelle en fonction de l'option 'every_page'. Notez que cette option a un certain potentiel de confusion - elle n'entraîne pas le chargement du fichier sur chaque page - c'est simplement un "indice" au système central pour le placer dans ce groupe.

En fin de compte, l'intention de ces divisions est de regrouper les fichiers en groupes fonctionnels plus petits et moins susceptibles d'être divisés par un style ou script conditionnel errant. Nous obtenons des fichiers séparés pour les bibliothèques principales, le thème et les fichiers spécifiques aux pages. En regardant les résultats, un Drupal 7 standard produit huit feuilles de style (y compris les styles de navigateur), tandis que D6 n'en a que trois dans l'installation par défaut. Est-ce optimal? La réponse sera différente pour chaque site.

Si cela vous pose des problèmes, vous voudrez peut-être jeter un œil au module Core Library :

Ce module modifie le processus de mécanisme d'agrégation du noyau Drupal. Il réduit considérablement les E / S et le nombre agrégé de fichiers et améliore les chances de succès du cache client.Par conséquent, même s'il produit des fichiers agrégés plus volumineux, il réduit considérablement l'utilisation de la bande passante pendant que les utilisateurs naviguent.

Clive
la source
Excellent article, je vais laisser les fichiers tels quels.
chefnelone
Ajoutez également que AdvAgg peut être utilisé pour forcer des groupes plus importants.
mikeytown2