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