在CDNJS处放置了jquery.slim包。 尺寸较小。 与原版的主要区别是什么? 快速浏览一下代码并没有找到答案,在jquery.com上我还没有找到有关slim
包装的参考。
那么,jquery.js和jquery.slim.js有什么区别?
#1楼
查看代码,我发现jquery.js和jquery.slim.js之间存在以下差异:
在jquery.slim.js中,删除了以下功能:
- jQuery.fn.extend
- jquery.fn.load
- jquery.each //附加一堆函数来处理常见的AJAX事件
- jQuery.expr.filters.animated
- 像jQuery.ajaxSettings.xhr,jQuery.ajaxPrefilter,jQuery.ajaxSetup,jQuery.ajaxPrefilter,jQuery.ajaxTransport,jQuery.ajaxSetup之类的ajax设置
- 像jQuery.parseXML一样进行xml解析,
- 动画效果,例如jQuery.easing,jQuery.Animation,jQuery.speed
#2楼
这时,最权威的答案似乎是在本期中 ,它指出“这是jQuery的自定义版本,不包括效果,ajax和不推荐使用的代码”。 详细信息将在jQuery 3.0中宣布。
我怀疑排除jQuery库的这些组件的理由是认识到jQuery与诸如Angular或React之类的另一个JS框架结合使用的情况越来越普遍。 在这些情况下,jQuery的使用主要是用于DOM遍历和操作,因此,将那些过时或框架提供的组件排除在外,可使文件大小减少约20%。
#3楼
jQuery 3.0 Final Release发布时的简短答案:
连同包含ajax和effects模块的jQuery常规版本一起,我们发布了排除这些模块的“ slim”版本。 总而言之,它不包括ajax,效果和当前不建议使用的代码。
文件大小(压缩后)约6k,23.6k和30k。
#4楼
我可以看到$.ajax
已从jQuery slim 3.2.1中删除
以下是精简版的注释,其中删除了功能
/*! 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楼
jQuery博客jQuery 3.1.1发布了! ,说,
苗条的身材
有时您不需要ajax,或者您更喜欢使用许多专注于ajax请求的独立库之一。 通常,对所有Web动画使用CSS和类操作的组合会更简单。 与包括ajax和effects模块的jQuery常规版本一起,我们发布了一个“ slim”版本,其中不包括这些模块。 总而言之,它不包括ajax,效果和当前不建议使用的代码。 如今,jQuery的大小很少会涉及到负载性能,但是苗条的构建比常规版本小6k gzip压缩字节,即23.6k vs 30k。
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3163563