我最近使用Dojo toolkit構建了一個項目,並且非常喜歡你如何標記一段代碼,以便只包含在基於任意conditional check的編譯版本中。我用這個來導出私有變量進行單元測試或者拋出錯誤與記錄它們。這裏有一個Dojo格式的例子,我很想知道Google Closure Compiler是否有這樣的特殊指令。使用Google Closure Compiler可以從編譯版本中排除一部分源代碼嗎?
window.module = (function(){
//private variable
var bar = {hidden:"secret"};
//>>excludeStart("DEBUG", true);
//export internal variables for unit testing
window.bar = bar;
//>>excludeEnd("DEBUG");
//return privileged methods
return {
foo: function(val){
bar.hidden = val;
}
};
})();
編輯
閉幕明確的指導提到,您可以擴展CommandLineRunner添加自己的檢查和優化,可能是做到這一點的方法之一。 Plover看起來很有希望,因爲它支持custom-passes。
您是否知道可以在高級模式下使用Closure Compiler和Dojo Toolkit?查看我的文檔:http://dojo-toolkit.33424.n3.nabble.com/file/n2636749/Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf?by-user=t – 2011-05-06 07:04:30