C'est difficile à répondre. Les deux options ont à mon avis leurs avantages et leurs inconvénients.
Personnellement, je n'aime pas lire un seul fichier CSS ÉNORME, et le maintenir est très difficile. D'un autre côté, le fractionnement entraîne des demandes http supplémentaires qui pourraient potentiellement ralentir les choses.
Mon opinion serait l'une des deux choses.
1) Si vous savez que votre CSS ne changera JAMAIS une fois que vous l'avez construit, je construirais plusieurs fichiers CSS au stade du développement (pour plus de lisibilité), puis les combiner manuellement avant de passer en direct (pour réduire les demandes http)
2) Si vous savez que vous allez changer votre CSS de temps en temps et que vous devez le garder lisible, je construirais des fichiers séparés et utiliserais du code (à condition d'utiliser une sorte de langage de programmation) pour les combiner à temps de construction du runtime (la minification / combinaison du runtime est un pig de ressource).
Avec l'une ou l'autre option, je recommande fortement la mise en cache côté client afin de réduire davantage les requêtes http.
EDIT:
J'ai trouvé ce blog qui montre comment combiner CSS à l'exécution en utilisant uniquement du code. Cela vaut la peine d'y jeter un coup d'œil (même si je ne l'ai pas encore testé moi-même).
EDIT 2:
J'ai décidé d'utiliser des fichiers séparés dans mon temps de conception et un processus de construction pour réduire et combiner. De cette façon, je peux avoir des CSS séparés (gérables) pendant que je développe et un bon fichier minifié monolithique au moment de l'exécution. Et j'ai toujours mes fichiers statiques et moins de surcharge système car je ne fais pas de compression / minification au moment de l'exécution.
Remarque: pour vous, acheteurs, je suggère fortement d'utiliser le bundler dans le cadre de votre processus de construction. Que vous construisiez à partir de votre IDE, ou à partir d'un script de construction, le bundler peut être exécuté sur Windows via le inclus exe
ou peut être exécuté sur n'importe quelle machine qui exécute déjà node.js.