普通和苗条的jquery包有什么区别?

蓝咒 提交于 2020-02-26 13:18:53

CDNJS处放置了jquery.slim包。 尺寸较小。 与原版的主要区别是什么? 快速浏览一下代码并没有找到答案,在jquery.com上我还没有找到有关slim包装的参考。

那么,jquery.js和jquery.slim.js有什么区别?


#1楼

查看代码,我发现jquery.js和jquery.slim.js之间存在以下差异:

在jquery.slim.js中,删除了以下功能:

  1. jQuery.fn.extend
  2. jquery.fn.load
  3. jquery.each //附加一堆函数来处理常见的AJAX事件
  4. jQuery.expr.filters.animated
  5. 像jQuery.ajaxSettings.xhr,jQuery.ajaxPrefilter,jQuery.ajaxSetup,jQuery.ajaxPrefilter,jQuery.ajaxTransport,jQuery.ajaxSetup之类的ajax设置
  6. 像jQuery.parseXML一样进行xml解析,
  7. 动画效果,例如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。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!