Comment grand est “trop grosse” pour un fichier javascript
Avec toutes impressionnant de plugins jQuery, il est si tentant de commencer à y compris tous les sens pour améliorer le look de notre site web.
Je suis à la recherche de quelques avis sur le si, et quand je devrais être préoccupé par la taille de ces scripts.
Supposons qu'ils sont mis en cache sur le serveur web niveau, donc je suppose que les préoccupations sont sur la bande passante pour les scripts sont servies à partir du serveur web, ainsi que les performances sur le navigateur du client qui a besoin de télécharger tous ces scripts.
- +1. J'ai utilisé pour être vraiment préoccupé par ce... pas tellement plus.
Vous devez vous connecter pour publier un commentaire.
Il y a deux problèmes ici, comme vous l'avez mentionné.
La première est la charge du serveur. Si c'est un problème, vous pouvez utiliser le Google AJAX Libs Api, et obtenir votre libs directement à partir de Google CDN.
Deuxième problème est côté client, le temps de chargement. Eh bien, vous devez décider qui est votre public cible et comment beaucoup vous êtes wiling à permettre à l'utilisateur d'attendre. En règle générale, la plupart des sites web d'aujourd'hui consomment
~300KB
de la bande passante par page, y compris les scripts, feuilles de style et des images.Je ne pense pas que vous devriez vous inquiétez pas trop à ce sujet. Généralement, les images vont consommer la plus grande partie de votre bande passante et pas les fichiers Javascript.
Si vous voulez accélérer votre site, réduisant ainsi le nombre de requêtes HTTP dans votre page est l'endroit pour commencer. Ce sera probablement donner un bien meilleur gain de performance. Essayez de compresser tous vos .js fichiers en un seul et utiliser les CSS sprite techniques pour afficher vos images.
Vous devez le mettre en perspective. Voir combien de temps le chargement de votre page et quel est le pourcentage est en javascript. Habituellement, il n'est pas si grand que ça.
Depuis js ajoute généralement les subtilités d'un site, il pourrait ne pas d'importance si il charge la dernière, ou relativement lentement, tant qu'il ne bloque pas les autres éléments de chargement.
Dans la façon dont je le vois, si vous avez besoin de la fonctionnalité, vous devrez charger le code de sorte qu'il est inévitable. Si c'est décoratif, puis de charger que les js dernier, et il est mieux d'en avoir un peu plus tard que de ne pas l'avoir du tout.
Comme d'autres l'ont dit pour jQuery lui-même, il est préférable d'utiliser tout public CDN hébergé copie, je voudrais également recommander à la recherche, à l'aide d'un outil pour regrouper vos plugins /scripts personnalisés dans un paquet(s) qui ont du sens. Ceux-ci varient en fonction de votre type de serveur, mais 2 des outils communs sont ASP.NET Contrôle ScriptManager - Script Combinant - Quel est le big deal? et Bundler - Bundler Prend Désormais En Charge Css Et .moins. Sur le dernier post il y a plus d'informations sur ce sujet en général.
Edit: La solution que j'utilise avec .NET est http://getcassette.net/ Cassette fournit la meilleure histoire pour ASP.NET développement, vous magasin seulement .debug. des copies de fichiers JS dans la solution, les fichiers javascript facilement, intellisense, lorsque vous exécutez dans le debug, vous bénéficiez de tous les debug js fichiers, et lorsque vous exécutez avec debug=false la obtenir des combinés et minimisé. Dans les deux scénarios, ils ont de contournement du cache chaînes de sorte que vous n'aurez jamais à vous soucier de rafraîchir maj pour ne pas être vicié à l'aide de javascript.
Quelle est la durée d'un morceau de ficelle?
Cela dépend de la bande passante de votre public cible, la bande passante du serveur(s), et la valeur relative de la JS fournit.