Quelles sont les différences entre le paquet normal et mince de jquery?
À CDNJS jquery.paquet mince est placé. Il a une taille plus petite. Quelles sont les principales différences par rapport à un original? Un rapide coup d'oeil au code n'a pas apporté la réponse, et à la jquery.com Je n'ai trouvé aucune référence sur le paquet slim
.
Alors, quelles sont les différences entre jquery.js et jquery.mince.js ?
5 réponses
En regardant le code, j'ai trouvé les différences suivantes entre jquery.js et jquery.mince.js:
Dans le jquery.mince.js, la fonction de code suivante est supprimée:
- jQuery.fn.étendre
- jquery.fn.charge
- jquery.chaque / / attache un tas de fonctions pour gérer les événements AJAX communs
- jQuery.expr.filtrer.animation
- paramètres ajax comme jQuery.ajaxSettings.xhr, jQuery.ajaxPrefilter, jQuery.ajaxSetup, jQuery.ajaxPrefilter, jQuery.ajaxTransport, jQuery.ajaxSetup
- analyse xml comme jQuery.parseXML,
- effets d'animation comme jQuery.assouplissement, jQuery.Animation, jQuery.vitesse
La réponse courte tirée de l'annonce de la version finale de jQuery 3.0 :
Avec la version régulière de jQuery qui inclut les modules ajax et effects, nous publions une version "slim" qui exclut ces modules. Dans l'ensemble, il exclut ajax, les effets et le code actuellement obsolète.
La Taille du fichier (gzippé) est environ 6k plus petit, 23.6 K vs 30k.
À ce moment, la réponse la plus autoritaire semble être dans ce problème , qui indique "c'est une construction personnalisée de jQuery qui exclut les effets, ajax et le code obsolète."Les détails seront annoncés avec jQuery 3.0.
Je soupçonne que la raison d'exclure ces composants de la bibliothèque jQuery est en reconnaissance du scénario de plus en plus commun de jQuery utilisé en conjonction avec un autre framework JS comme Angular ou React. Dans ces cas, l'utilisation de jQuery est principalement pour la traversée et la manipulation DOM, donc en laissant de côté les composants qui sont obsolètes ou qui sont fournis par le framework, on obtient une réduction de 20% de la taille du fichier.
Je pouvais voir {[1] } est retiré de jQuery slim 3.2.1
Voici Le Commentaire de la version slim avec les fonctionnalités supprimées
/*! jQuery v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
Le blog jQuery, jQuery 3.1.1 publié!, dit:
Construction mince
Parfois, vous n'avez pas besoin d'ajax, ou vous préférez utiliser l'une des nombreuses bibliothèques autonomes qui mettent l'accent sur les requêtes ajax. Et souvent, il est plus simple d'utiliser une combinaison de CSS et de manipulation de classe pour toutes vos animations web. Avec la version régulière de jQuery qui inclut les modules ajax et effets, nous avons publié une version "slim" qui exclut ces modules. Dans tous les tous, il exclut ajax, effets, et le code actuellement obsolète. La taille de jQuery est très rarement un problème de performance de charge ces jours – ci, mais la construction mince est d'environ 6K octets gzippés plus petits que la version régulière-23.6 K vs 30k.