你如何只包含你的应用程序使用的jQuery部分

时间:2014-10-02 02:12:44

标签: javascript jquery static-analysis

例如,假设我有一个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闭包中使用的本地函数和变量之间存在很多依赖关系链,这很难全部掌握。我的列表也比这个大得多,这只是一个小例子。

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

2 个答案:

答案 0 :(得分:3)

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

你真的应该首先看看由流行的CDN提供的jQuery的缩小版本,因为这很可能已经在浏览器缓存中,甚至可能比不是更小的自定义版本具有更好的性能缓存了。作为参考,jQuery 2.0的最小化和gzip版本仅为29k,比网页中的许多图像小。

答案 1 :(得分:0)

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

根据您需要支持的浏览器/功能,另一种替代方法可能是使用jQuery替换,如zeptojsminifiedjs。这些库使用jQuery语法,大约3-9k gzipped / minified。

相关问题