Dies ist schwer zu beantworten. Beide Optionen haben meiner Meinung nach ihre Vor- und Nachteile.
Ich persönlich liebe es nicht, eine einzige RIESIGE CSS-Datei zu lesen, und es ist sehr schwierig, sie zu pflegen. Auf der anderen Seite führt das Aufteilen zu zusätzlichen http-Anforderungen, die möglicherweise zu einer Verlangsamung führen können.
Meine Meinung wäre eines von zwei Dingen.
1) Wenn Sie wissen, dass sich Ihr CSS nach dem Erstellen NIEMALS ändern wird, würde ich in der Entwicklungsphase mehrere CSS-Dateien erstellen (aus Gründen der Lesbarkeit) und diese dann manuell kombinieren, bevor sie live geschaltet werden (um http-Anforderungen zu reduzieren).
2) Wenn Sie wissen, dass Sie Ihr CSS von Zeit zu Zeit ändern werden und es lesbar halten müssen, würde ich separate Dateien erstellen und Code verwenden (vorausgesetzt, Sie verwenden eine Art Programmiersprache), um sie zu kombinieren Laufzeiterstellungszeit (Laufzeitminimierung / -kombination ist ein Ressourcenschwein).
Bei beiden Optionen würde ich das Zwischenspeichern auf der Clientseite dringend empfehlen, um die http-Anforderungen weiter zu reduzieren.
EDIT:
Ich habe diesen Blog gefunden , der zeigt, wie man CSS zur Laufzeit nur mit Code kombiniert. Ein Blick lohnt sich (obwohl ich es selbst noch nicht getestet habe).
BEARBEITEN 2:
Ich habe mich in meiner Entwurfszeit für die Verwendung separater Dateien und einen Erstellungsprozess zum Minimieren und Kombinieren entschieden. Auf diese Weise kann ich während der Entwicklung ein separates (verwaltbares) CSS und zur Laufzeit eine ordnungsgemäße monolithisch minimierte Datei haben. Und ich habe immer noch meine statischen Dateien und weniger Systemaufwand, weil ich zur Laufzeit keine Komprimierung / Minimierung durchführe.
Hinweis: Für Ihre Kunden da draußen empfehle ich dringend, Bundler als Teil Ihres Erstellungsprozesses zu verwenden. Unabhängig davon, ob Sie aus Ihrer IDE oder aus einem Build-Skript erstellen, kann exe
der Bundler unter Windows über das mitgelieferte System ausgeführt oder auf jedem Computer ausgeführt werden, auf dem bereits node.js ausgeführt wird.