Wie funktioniert die Bandbreitenoptimierung?

11

Ich habe optimiert, um alle CSS- und JavaScript-Dateien auf meiner Website zu kombinieren.

Bild 1.

Wenn ich Yslow in Firefox ausführe, um die für diese Site geladenen Komponenten anzuzeigen, werden 8 JavaScript-Dateien und 8 CSS-Dateien geladen.

Bild 2

Warum werden diese Dateien nicht kombiniert?

Chefnelone
quelle

Antworten:

10

Aggregierte CSS- und JS-Dateien in Drupal 7 sind in Gruppen aufgeteilt, sodass Sie natürlich mehr Dateien erhalten, als Sie in Drupal 6 gewohnt sind.

Ich werde nicht auf das Ganze eingehen , da es bereits einen ausgezeichneten Artikel gibt, der es ausführlich erklärt.

D7 verwendet eine neue Strategie, um dies zu beheben. Die Aggregate werden in drei Gruppen unterteilt: CSS_SYSTEM, CSS_DEFAULT und CSS_THEME für Stile sowie JS_LIBRARY, JS_DEFAULT und JS_THEME für Javascript. Jede Gruppe ist weiter unterteilt in Dateien, die auf jeder Seite geladen werden, und Dateien, die basierend auf der Option 'every_page' bedingt geladen werden. Beachten Sie, dass diese Option zu Verwirrung führen kann. Sie führt nicht dazu, dass die Datei auf jeder Seite geladen wird. Sie ist lediglich ein "Hinweis" für das Kernsystem, um sie in diese Gruppe einzufügen.

Letztendlich besteht die Absicht dieser Unterteilungen darin, Dateien in Funktionsgruppen zu gruppieren, die kleiner sind und weniger wahrscheinlich durch einen fehlerhaften bedingten Stil oder ein fehlerhaftes Skript aufgeteilt werden. Wir erhalten separate Dateien für Kernbibliotheken, das Thema und seitenspezifische Dateien. Mit Blick auf die Ergebnisse gibt ein Standard-Drupal 7 acht Stylesheets (einschließlich Browser-Styles) aus, während D6 in der Standardinstallation nur drei enthält. Ist das optimal? Die Antwort ist für jede Site unterschiedlich.

Wenn es Ihnen Probleme bereitet, sollten Sie sich das Modul Kernbibliothek ansehen :

Dieses Modul ändert den Drupal-Kernaggregationsmechanismus. Es reduziert die E / A und die aggregierte Anzahl von Dateien erheblich und verbessert die Wahrscheinlichkeit, dass der Client-Cache getroffen wird. Daher werden zwar größere aggregierte Dateien erstellt, die Bandbreitennutzung beim Surfen jedoch erheblich reduziert.

Clive
quelle
Toller Artikel, ich werde die Dateien so lassen, wie sie sind.
Chefnelone
Fügen Sie außerdem hinzu, dass AdvAgg verwendet werden kann, um größere Gruppen zu erzwingen.
Mikeytown2