0

目前,我只在 javascript 文件上使用 Closure Compiler。现在我还想用更短的名称缩小和重命名 CSS 类。

有没有办法避免在我的 .js 文件中重写每个基于 jquery CSS 字符串的选择器(即$('#SomeID')$('.SomeClass'))基于变量的选择器?由于大多数 HTML 是在运行时实际生成的,我可以轻松地移动骨架 HTML最初在.js文件的页面中,并让document.ready函数首先将应用程序所需的骨架HTML放在页面上。这会避免重写CSS选择器还是仍然需要将选择器重写为属性一个对象?

该文档在这里,但我没有发现它很清楚http://code.google.com/p/closure-stylesheets/#Renaming

感谢您的建议。

4

1 回答 1

5

您的问题的简短回答是“不,没有”。

鉴于您已在此处指定使用 jQuery 选择器,我们可以看到任何用于这项工作的工具都需要重写您的所有三个 HTML、CSS 和 JS 代码。

尤其是 JS 代码将非常棘手,因为可以使用子字符串构建 jQuery 选择器 - 例如$('#prefix_' + suffix). 我不知道你是否做过这种事情,但这样做的能力使得几乎不可能编写一个完全可靠的工具来重命名你的 ID 和类,但仍然让你的 JS 代码正常工作。如果您的代码相对简单,则可以编写它以便它为您工作,但没有人会发布一个如此容易破坏的通用工具。

此外,我不相信这样的工具会特别有用。这听起来像是过度优化的情况。

优化很棒——努力使您的网站尽可能快是件好事。但良好优化的关键艺术之一是优化你最慢的区域。如果代码中的主要瓶颈是类名的长度,我会感到非常惊讶。

因此,我的建议是花时间找出代码中真正的瓶颈在哪里,并处理这些问题。效果可能远远大于您迄今为止所做的所有缩小工作。

于 2012-09-01T06:31:11.427 回答