Closure Compiler
но this он не станет сжимать, все остальное сожмет
пример:
из этого:
(function(){
function heh() {
this._View = {
bla: function() {
alert("lala");
}
}
}
function test() {
this._View.bla();
this._View.bla();
this._View.bla();
this._View.bla();
this._View.bla();
this._View.bla();
}
test.call(new heh());
})();
сделает это:
(function(){
this.a.b();
this.a.b();
this.a.b();
this.a.b();
this.a.b();
this.a.b()
}).call(new function(){
this.a={
b:function(){
alert("lala")
}
}
});
табуляции я сам расставил, а так в одну строку код будет
запуск такой:
java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --js=test.js --js_output_file=test.min.js