目前,我只在 javascript 文件上使用 Closure Compiler。现在我还想用更短的名称缩小和重命名 CSS 类。
有没有办法避免在我的 .js 文件中重写每个基于 jquery CSS 字符串的选择器(即 $('#SomeID')
或 $('.SomeClass '))
到基于变量的选择器?由于大部分 HTML 实际上是在运行时生成的,我可以轻松地将最初位于页面中的框架 HTML 移动到 .js 文件,并让 document.ready 函数首先将应用程序所需的框架 HTML 放在页面上。这会避免重写 CSS 选择器,还是仍然需要将选择器重写为对象的属性?
文档在这里,但我没看清楚http://code.google.com/p/closure-stylesheets/#Renaming
感谢您的建议。
最佳答案
对您的问题的简短回答是“不,没有”。
鉴于您已在此处指定您使用的是 jQuery 选择器,我们可以看到用于此工作的任何工具都需要重写您的所有三个 HTML、CSS 和 JS 代码。
特别是 JS 代码会非常棘手,因为可能会使用子字符串构建 jQuery 选择器 - 例如 $('#prefix_' + suffix)
。我不知道你是否做过那种事,但这样做的能力使得几乎不可能编写一个完全可靠的工具来重命名你的 ID 和类,但仍然让你的 JS 代码正常工作。如果您的代码相对简单,则可以编写适合您的代码,但没有人会发布一个如此容易损坏的通用工具。
此外,我认为这样的工具不会特别有用。这听起来像是过度优化的情况。
优化很棒 - 努力使您的网站尽可能快是件好事。但良好优化的关键技术之一是优化您最慢的区域。如果您代码中的主要瓶颈是类名的长度,我会感到非常惊讶。
因此,我的建议是花时间找出代码中真正的瓶颈所在,并加以解决。效果可能远远超过您迄今为止所做的所有缩小工作。
关于css - 谷歌样式表编译器 CSS 重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224112/