【发布时间】:2012-02-21 17:02:07
【问题描述】:
在我的 JavaScript 应用程序中,我仅将几个对象用于内部目的(用户不需要访问它们)。例如:
var images={
blank:"blank.gif",
plus:"plus.gif",
minus:"minus.gif"
}
当我使用像 Uglify.js 这样的缩小器时,属性名称(空白、加号、减号)保持原样。有没有办法缩小它们?
到目前为止我所考虑的:
- 在高级模式下使用 Google Closure minifier,但这会破坏我的代码
- 用变量替换对象属性(例如 var imagesBlank="blank.gif"),但这会降低代码的可读性
有没有更好的办法?
【问题讨论】:
-
在高级模式下使用 Google Closure minifier,但这会破坏我的代码 ...您应该仔细阅读文档并调整您的代码,使其不会崩溃。我认为 Google Closure 编译器是最好的选择。
-
@FelixKling 你有与我的问题相关的特定链接吗?另外,请随时将它们作为答案发布,以便我接受!
-
不,不是真的...只有文档 (code.google.com/closure/compiler/docs/api-tutorial3.html)。
-
任何 minifier 都不知道这些属性不能从外部访问。因此没有人会碰它们。 Closure Compiler 也是简单模式。保留这些私有变量的方法是通过闭包来捕获它们。这样,它们总是被缩小器重命名,您的用户将无法触摸它们。
标签: javascript object minify