使用命名空间缩小Javascript

时间:2012-04-14 04:48:48

标签: javascript minify

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

1 个答案:

答案 0 :(得分:3)

大多数(好的)minifiers都会单独保留全局范围的变量,因为这些是我们默认使用的命名空间。 mikeycgto建议您确保将这些保持在最低限度:

var page = ( function(){
  var scopedVar = "I'm something like private.";

  //do some other stuff

  return {
    usefulThing: function(){
        return scopedVar;
    }
  };
}() );

通过缩小器运行它应该会在全局范围内留下“页面”变量。 page.usefulThing是一种方法(也应该由缩小器单独留下)。 “scopedVar”可能会变成“a”或“o”或某些,但你永远不会在乎。您的API将保持预期,尽管内部将会被破坏。