在CDNJS jquery。纤细的包裹被放置。它的尺寸更小。与原作的主要区别是什么?快速查看代码并没有带来答案,在https://jquery.com我没有找到任何关于苗条包的参考资料。

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


当前回答

如上所述,Ajax和特效模块已经被排除在jQuery slim之外,缩小版解压后的尺寸差异为85k vs 69k(精简版节省16k)或压缩版30vs24,需要注意的是,bootstrap 4使用的是精简版jQuery,所以如果有人想要完整版,他们需要调用它

其他回答

我能看到美元。从jQuery中移除ajax

来自jQuery文档

你也可以使用精简版,它排除了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 */

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

在jquery.slim.js中,删除了以下特性:

jQuery.fn.extend jquery.fn.load jquery。每个(附加一堆处理常见AJAX事件的函数) jQuery.expr.filters.animated AJAX设置(jQuery.ajaxSettings。xhr, jQuery。ajaxPrefilter, jQuery。ajaxSetup, jQuery。ajaxPrefilter jQuery.ajaxTransport) XML解析,jQuery.parseXML 动画效果(jQuery。宽松,jQuery。动画,jQuery.speed)

我刚刚发现,一个元素属性的选择器不会与slim工作。

$('input[type="textarea"]').each(function(index) {});

希望这对你有所帮助。

目前,最权威的答案似乎在这个问题上,它说“这是一个jQuery的自定义构建,排除了效果,ajax和弃用代码。”具体细节将在jQuery 3.0发布。

我怀疑排除jQuery库中的这些组件的基本原理是认识到jQuery与其他JS框架(如Angular或React)结合使用的情况越来越普遍。在这些情况下,jQuery主要用于DOM遍历和操作,因此去掉那些过时的或由框架提供的组件可以使文件大小减小20%左右。

当我想使用jQuery UI时,有一个很大的不同,使用jQuery的精简版本,这是不可能的。事实上,精简版不包括ajax和effects模块