【问题标题】:How do you only include the parts of jQuery that are used by your app你如何只包含你的应用程序使用的 jQuery 部分
【发布时间】:2014-11-27 00:16:05
【问题描述】:

例如,假设我有一个 jQuery 对象函数及其原型函数的列表:

/* jQuery object functions example
   jQuery.isArray
   jQuery.isFunction
   jQuery.proxy
   jQuery.ajax
*/

/* jQuery prototype functions example
   jQuery.fn.init
   jQuery.fn.val
   jQuery.fn.css
*/

这是 jQuery 的一个非常小的子集,当我知道我只会使用这些函数时,我可能不一定想要包含所有 jQuery。我可以从 jQuery 复制和粘贴,但是在 jQuery 函数和本地函数以及 jQuery 闭包中使用的 var 之间有很多依赖链,这些依赖链很难手动获取。我的列表也比这个大很多,这只是作为一个小例子。

我的问题是,是否有一种工具可以对 jQuery 进行静态分析,从而列出所需的函数(如上所示)并取回所需的代码。

【问题讨论】:

  • 你绝对不应该这样做。其他位无所谓。 从来没有破解第三部分库是个好主意,这样做以节省几千字节是一个非常糟糕的主意。

标签: javascript jquery static-analysis


【解决方案1】:

有一种称为 jQuery Builder 的自定义构建机制:http://projects.jga.me/jquery-builder/

您确实应该首先查看由流行的 CDN 提供的 jQuery 的缩小版本,因为它很可能已经在浏览器缓存中,甚至可能比尚未缓存的更小的自定义版本具有更好的性能.作为参考,jQuery 2.0 的最小化和 gzip 版本只有 29k,比网页中的许多图像还要小。

【讨论】:

  • 这很有趣,我只是希望对构建器有更细粒度的控制。然而,29k 相当诱人,而且看起来我需要的东西将是 19k。非常感谢,如果我找不到其他解决方案,这将是我的选择。
【解决方案2】:

我不知道 jfriend00 建议的 BYO jQuery 工具,所以 +1。

根据您需要支持的浏览器/功能,另一种选择可能是使用 jQuery 替代品,例如 zeptojsminifiedjs。这些库使用 jQuery 语法,压缩/压缩后的大小约为 3-9k。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-08
    • 2016-06-03
    • 2012-08-21
    • 2019-11-11
    • 2018-02-10
    • 2022-09-29
    • 2012-10-16
    • 1970-01-01
    相关资源
    最近更新 更多