28 votes

Optimisation Require.js vs regroupement et minification asp.net mvc 4

Hors ces derniers temps, j'ai vu Mvc 4 a inclus le regroupement et la minification de plusieurs scripts et css en un seul lien qui minifies et diminue le temps de chargement de script avec une seule configuration .

L'require.js r.js est également un outil d'optimisation disponibles pour le script de chargement et de minification . Quelqu'un peut me dire lequel est le meilleur ? Ou si require.js peut être utilisé en tant que mêmes que minification + groupement outil pour charger le script en un seul fichier ou pas ? comme le même que Mvc 4 ?

Je préfère utiliser require.js pour AMD chargement de penser à appliquer les concepts de la Mvc 4 minification idée si c'est disponible dans require.js comme url unique de chargement pour les scripts et css pour l'optimisation et la minification .

Quelqu'un peut-il mettre des idées et des lumières à ce sujet ?

20voto

Peter H. Points 1952

Require.js est un outil, qui permet au client de demander uniquement les scripts dont elle a besoin. Souvent dans une application MVC, chaque script finit par être ajoutée à la _layout.cshtml fichier, et pas beaucoup de réflexion est mis en ce que chaque contrôleur de besoins. Require.js permet de réfléchir à ce que chaque module a besoin pour fonctionner.

r.js nécessite nœud ou java, et est un serveur côté de l'outil qui est en quelque sorte analogue à MVC4 le regroupement et la minification. r.js fonctionne en conjonction avec le besoin d'essayer et de rapetisser les plus couramment utilisés faisceaux et de les envoyer comme un paquet. Mais par la subordination et de l'emballage, vous leur envoyez potentiellement avant que le script "impose de" leur.

Là où ça devient intéressant, c'est qu'en regroupant des vous êtes presque vaincre le but de la DMLA. ie - vous regroupons tout un tas de scripts dépendants en un seul fichier, plutôt que de le laisser require.js trier ceux dont il a besoin et faire la demande lors de et si il a besoin d'eux.

Une bonne référence sur l'intégration de besoin et mvc : http://www.stefanprodan.eu/2012/09/intro-requirejs-for-asp-net-mvc/ - notez qu'il n'est pas à l'aide de regroupement.

Donc, pour moi - je pense que minifier les fichiers individuels (et bundle / minify css) et je besoin pour son travail comme il se doit, afin de soutenir AMD.

6voto

Lu4 Points 2774

Dans mon cas particulier (et beaucoup d'autres que j'ai déjà rencontrés) il n'y a pas beaucoup de sens dans l'exercice de serveur supplémentaire de charge avec demande distincte juste dans le but de chargement 1-3 ko script ou un fichier de style.

  • Comme mentionné cette requête utilise les ressources du serveur qui sont habituellement limitées
  • Il prend du temps à charger, 50-200ms garanti gal
  • Les fichiers plus vous avez, plus la probabilité que l'un d'eux échoue de chargement en raison de problème de connexion
  • Il y a aussi une surcharge avec quantité de code réutilisable, nécessaires pour emballer le tout dans les modules

Il semble beaucoup plus efficace et sûre pour charger même énorme de 5 mo (ce qui est irréel) livré script une fois et l'avoir chargé, plus tard, à partir du cache. En utilisant GZip, vous serrez vos 5 mo de texte dans 200kb de données binaires qui est beaucoup plus moins que la quantité de contenu graphique d'un site moyen utilise par demande.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X