放置CDNJS jquery.slim包。它的尺寸较小。与原版有什么主要区别?快速查看代码并没有给出答案,在jquery.com上我没有找到关于slim
包的任何参考。
那么,jquery.js和jquery.slim.js之间有什么区别?
答案 0 :(得分:286)
简短回答来自announcement of jQuery 3.0 Final Release:
除了包含ajax和效果模块的常规jQuery版本之外,我们还发布了一个排除这些模块的“瘦身”版本。总而言之,它排除了ajax,效果和当前已弃用的代码。
文件大小(gzip)大约小6k,23.6k小于30k。
答案 1 :(得分:261)
查看代码,我发现jquery.js和jquery.slim.js之间存在以下差异:
在jquery.slim.js中,删除了以下代码函数:
答案 2 :(得分:38)
此时,最权威的答案似乎出现在issue中,其中指出"它是jQuery的自定义构建,它排除了效果,ajax和弃用的代码。"细节将通过jQuery 3.0公布。
我怀疑排除jQuery库的这些组件的基本原理是认识到jQuery与另一个JS框架(如Angular或React)一起使用的日益普遍的情况。在这些情况下,jQuery的使用主要用于DOM遍历和操作,因此遗漏那些过时或由框架提供的组件可以使文件大小减少20%。
答案 3 :(得分:22)
jQuery博客jQuery 3.1.1 Released!说,
超薄构建
有时您不需要ajax,或者您更喜欢使用专注于ajax请求的众多独立库之一。通常,对所有Web动画使用CSS和类操作的组合更为简单。除了包含ajax和效果模块的常规jQuery版本之外,我们还发布了一个不包含这些模块的“瘦身”版本。总而言之,它排除了ajax,效果和当前已弃用的代码。 jQuery的大小现在很少是一个负载性能问题,但是超薄版本比常规版本小约6k gzipped字节 - 23.6k vs 30k。
答案 4 :(得分:13)
我可以看到jQuery slim 3.2.1
中删除了$.ajax
以下是移除功能的超薄版本的评论
/*! 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 */
答案 5 :(得分:5)
如前所述,AJAX和特效模块已从jQuery slim中排除,从3.3.1版本开始,缩小版本的大小差异为85k与69k(Slim节省16k)或30vs24的差异,重要的是要注意bootstrap 4 uses the slim jQuery,因此,如果有人想要完整版本,则需要调用该版本
答案 6 :(得分:0)
我在创建表单联系人时发现了不同之处: 苗条(由boostrap 4.5推荐):
答案 7 :(得分:0)
当我想使用 jQuery UI 时有很大的不同。使用 jQuery 的精简版,这是不可能的。 实际上,slim 版本不包括 ajax 和效果模块: