css - 谷歌样式表编译器 CSS 重命名

标签 css google-closure-compiler google-closure-stylesheet

目前,我只在 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/

相关文章:

css - 预标记以显示代码

jquery - 实现 jQuery 照片幻灯片时遇到问题

java - 在 GWT 中删除 Google 样式表 (GSS) 中的重复项

html - 有没有办法配置 Eclipse 将 gss 文件视为 css 文件?

javascript - iframe 设置了错误的宽度

javascript - 切换 dojo 中 div 的显示在 Google Chrome 中无法正常工作

javascript - 如何为 JavaScript 代码编写混淆器?

javascript - 在具有属性的 ES6 模块上使用闭包编译器

javascript - 如何强制谷歌闭包编译器保留 "use strict";在编译的js代码中?

javascript - 如何通过外部 Javascript 库(例如 jQuery)使用 Google Closure 样式表重命名?