Voir Multiple javascript/css files: best practices? et Supercharging Javascript in PHP.
La réponse courte est que vous voulez minimiser les requêtes HTTP externes. La meilleure façon de le faire est de forcer le navigateur à mettre en cache les fichiers que vous serveur jusqu'à ce qu'ils changent. Vous faites cela en versionnant les fichiers et en fournissant un futur en-tête Expires très lointain. Lorsque le nom de fichier change (en changeant la version), le navigateur obtiendra la nouvelle version.
Si vous faites cela, alors plusieurs fichiers Javascript n'ont pas vraiment d'importance. Mais si vous forcez le client à télécharger 27 fichiers JS sur chaque page sans mise en cache, la réduction du nombre de fichiers peut faire une différence substantielle. Bien sûr, cela reste inférieur aux stratégies efficaces de mise en cache/versionnage.
Une autre question plus récente à considérer est iphone caching:
iPhone ne sera pas les composants de cache plus grand que 15K (était 25K dans la expérience précédente)
Ainsi, dans certaines circonstances, combinant fichiers peuvent être préjudiciable.
Je ne crois pas que cela soit vrai - un fichier js monolithique prendra plus de temps à télécharger, et étant monolithique il y a risque que la page utilise 25% de la js dessus (ou moins). –
Cela dépend du nombre de fichiers. Comme le remarque le commentateur précédent, mettre tout votre fichier JS qui est chargé par toutes les pages peut entraîner le chargement de beaucoup de JS non pertinents. Cependant, si vous combinez 3 fichiers où tout le code est souvent utilisé dans 1, vous devrez réduire le nombre de requêtes HTTP pour le chargement de la page et ainsi améliorer la vitesse de chargement de la page. – mopoke
Chargement de plusieurs fichiers plutôt que de charger un fichier est certainement plus lent, car votre navigateur établit plusieurs connexions http pour charger ces fichiers et l'établissement d'une connexion http a un certain coût. – Nayan