是否有任何允许定义命名空间的 javascript 缩小器(在线)?我的意思是所有这些缩小器都会生成具有短变量名的代码,例如 a,b,c ...,这可能会导致与其他缩小的 javascript 发生冲突。
问问题
840 次
1 回答
3
大多数(好的)minifiers 单独留下全局范围的变量,因为这些是我们默认的命名空间。mikeycgto 建议您确保将其保持在最低限度:
var page = ( function(){
var scopedVar = "I'm something like private.";
//do some other stuff
return {
usefulThing: function(){
return scopedVar;
}
};
}() );
通过缩小器运行它应该会在全局范围内为您留下一个“页面”变量。page.usefulThing 是一种方法(也应该由 minifier 单独保留)。"scopedVar" 可能会变成 "a" 或 "o" 之类的,但你永远不会在意。您的 API 将保持预期,尽管内部将被弄乱。
于 2012-04-14T05:14:19.183 回答