在一个丑陋的代码库中查找jQuery UI的用法

时间:2010-06-11 00:40:45

标签: jquery jquery-ui

我最近继承了为生产网站维护一个庞大而丑陋的代码库。 把你的眼睛弄得很难看。虽然它很大,但它主要是PHP代码,除了UI中的一些“ajaxy”之外,它没有太多的JS。

我们当前的主要问题是网站太重了。主页目前的重量为1.6 Mb,所以我正在尝试清理一些东西。

主要浪费之一是每个页面都包含jQuery UI库,但我认为它根本不被使用。它绝对没有在主页和大多数页面中使用,所以我只想包含必要的内容。

我对jQuery并不是很有经验,我更像是一个原型人,所以我很想知道。有什么我可以搜索的,让我知道jQuery UI在哪里使用?
我正在寻找的是“常用字符串”,组件名称等

例如,如果这是scriptaculous,我会寻找“可拖动”,“效果”等内容。 有关jQuery UI的任何建议吗?

(当然,如果你能想到一种更强大的方法,可以在不破坏所有内容的情况下从不使用标签的页面中删除标签,我很乐意听到它)

谢谢! 丹尼尔

5 个答案:

答案 0 :(得分:11)

jQuery UI有一个标准的命名约定you can view a full list of widgets/effects here。与该列表相比,您主要寻找相应的方法:

然而,这是一个很大的问题,但如果你的主要目标是减少页面有效负载大小,那么应该 无效。您的用户不应每次加载it should be cached on the client as determined by cache headers,另外your scripts should be minified (already provided version when you download it) and delivered gzipped

此外,如果您选择这个选项,我会考虑using a CDN for both jQuery and jQuery UIthe stylesheets as well,如果您使用的是默认主题之一。

答案 1 :(得分:3)

我的建议是查看jQuery UI演示页面 - http://jqueryui.com/demos/ - 并查看每个演示并从每个演示中搜索主要的一个或两个关键字,就像您可能为Scriptaculous做的那样。祝你好运。

答案 2 :(得分:0)

查看这篇文章:https://medium.com/software-developer/finding-jquery-ui-usage-in-a-project-b4fbcfc938c8

它用于生成较大的正则表达式。

我将其用作基础并获得下一个正则表达式:

\.\s*(accordion|autocomplete|button|buttonset|datepicker|dialog|menu|progressbar|selectmenu|slider|spinner|tabs|tooltip|effect|switchClass|switchClass|draggable|droppable|mouse|resizable|selectable|sortable|disableSelection|enableSelection|removeUniqueId|scrollParent|uniqueId|zIndex)\s*\(|['"](blind|bounce|clip|drop|explode|fade|fold|highlight|puff|scale|shake|size|slide|transfer|easeInQuad|easeOutQuad|easeInOutQuad|easeInCubic|easeOutCubic|easeInOutCubic|easeInQuart|easeOutQuart|easeInOutQuart|easeInQuint|easeOutQuint|easeInOutQuint|easeInExpo|easeOutExpo|easeInOutExpo|easeInSine|easeOutSine|easeInOutSine|easeInCirc|easeOutCirc|easeInOutCirc|easeInElastic|easeOutElastic|easeInOutElastic|easeInBack|easeOutBack|easeInOutBack|easeInBounce|easeOutBounce|easeInOutBounce)['"]|:(data|focusable|tabbable)|\.ui\b

这里可能有很多误报,但我认为这是一个好的开始。无论如何,您都需要手动检查所有匹配项。

答案 3 :(得分:-1)

该库实际上应该只占页面大小的19k。

但你可以搜索$('或$。因为大多数,如果不是全部,jquery调用以$开头。

答案 4 :(得分:-1)

我建议搜索$(document).ready或尝试找出代码库用来检查DOM是否已准备好进行jquery交互的等价物。由于UI添加需要DOM,所有对它们的调用都将在这些函数中 - 您可以看到它们发生的位置,您可以检查它们是否有任何常见的interactions or widgets