La fusion de plusieurs fichiers javascript
J'ai lu que la fusion de plusieurs fichiers javascript en un seul fichier améliore les performances, est-ce vrai?
Si oui, est-il facile et sans erreur façon de les fusionner, ou peut-être en ligne-outil qui fait automatiquement?
Merci beaucoup.
Je ne crois pas que ce soit vrai - constitué d'un seul fichier js va prendre plus de temps à télécharger, et d'être monolithique, il y a des risques que la page est à l'aide de 25% de la js (ou moins).
Il dépend du nombre de fichiers. Comme le précédent intervenant points de, mettre tous de votre fichier JS qui est chargé par toutes les pages peuvent entraîner le chargement beaucoup de pertinence JS. Toutefois, si vous combinée 3 fichiers où tout le code a été souvent utilisé en 1, vous feriez abattre sur le nombre de requêtes HTTP pour le chargement de la page et donc d'améliorer la vitesse de chargement des pages.
Le chargement de plusieurs fichiers, plutôt que de sinlge on est certainement plus lent parce que votre navigateur est l'établissement de plusieurs connexion http pour charger ces fichiers et d'établir une connexion http a un certain coût.
Il dépend du nombre de fichiers. Comme le précédent intervenant points de, mettre tous de votre fichier JS qui est chargé par toutes les pages peuvent entraîner le chargement beaucoup de pertinence JS. Toutefois, si vous combinée 3 fichiers où tout le code a été souvent utilisé en 1, vous feriez abattre sur le nombre de requêtes HTTP pour le chargement de la page et donc d'améliorer la vitesse de chargement des pages.
Le chargement de plusieurs fichiers, plutôt que de sinlge on est certainement plus lent parce que votre navigateur est l'établissement de plusieurs connexion http pour charger ces fichiers et d'établir une connexion http a un certain coût.
OriginalL'auteur 3zzy | 2009-12-23
Vous devez vous connecter pour publier un commentaire.
Voir Plusieurs javascript/css fichiers: les meilleures pratiques? et La suralimentation Javascript en PHP.
La réponse courte est que vous voulez minimiser externe des requêtes HTTP. La meilleure façon de le faire est de forcer le navigateur de fichiers de cache de votre serveur jusqu'à ce qu'ils changent. Vous faites cela en gestion des versions de fichiers et de fournir un avenir lointain en-tête Expires. Lorsque le nom de fichier changements (par la modification de la version), le navigateur devra obtenir la nouvelle version.
Si vous faites cela, alors plusieurs fichiers Javascript n'a pas vraiment d'importance. Mais si vous forcez le client de télécharger le 27 JS fichiers sur chaque page sans mise en cache, puis de réduire le nombre de fichiers peuvent faire une grande différence. Bien sûr, c'est toujours inférieure à compter du cache et des versions stratégies.
Une autre question plus récente à considérer est iphone de mise en cache:
Donc, dans certaines circonstances, la combinaison de fichiers peut être préjudiciable.
Quand vous dites "fichiers" en ce qui concerne la mise en cache, vous parlez de pages web, pas de Javascript?
Non, je veux dire le contenu statique en général (Javascript, CSS, images). Ceux-ci devraient être agressive mis en cache. Qui a parlé de "mensonge"? Il s'agit de dire au client "Ne demandez pas ce nouveau jusqu'à ce que je peux vous dire qu'il a changé". Ce qui est bon.
Fusion de fichiers a un avantage majeur. Vous n'aurez pas besoin d'utiliser une bibliothèque comme requirejs pour charger correctement les fichiers dans l'ordre requis.
OriginalL'auteur cletus
Si vous avez de nombreux fichiers javascript, il peut aider à les combiner et à rapetisser. En les combinant en un seul fichier, vous réduisez le nombre de connexions et les fichiers qui doivent être téléchargés à partir de votre site. Par minifying, en fait vous réduire la taille des fichiers en supprimant les espaces blancs, les commentaires, et ainsi de suite. Jetez un oeil à JSMin et YUI Compressor.
Edit:
Comme d'autres commentateurs indiquent, en combinant des fichiers vraiment n'a de sens que si les utilisateurs sont activement à l'aide des fonctionnalités de tous les fichiers. Il ne serait pas judicieux de combiner un grand et rarement utilisés fichier javascript dans toutes vos fonctions couramment utilisées.
OriginalL'auteur Tauren
Vous pouvez aussi jeter un oeil à http://jscompress.com/, une ligne de JavaScript outil de compression.
OriginalL'auteur Mamut
vous pouvez essayer pakd.io vous pouvez fusionner les fichiers css et js
OriginalL'auteur Emad