0

是否有任何允许定义命名空间的 javascript 缩小器(在线)?我的意思是所有这些缩小器都会生成具有短变量名的代码,例如 a,b,c ...,这可能会导致与其他缩小的 javascript 发生冲突。

4

1 回答 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 回答