Недавно я построил проект, используя набор инструментов Dojo , и мне понравилось, как вы можете пометить часть кода, которая будет включена только в скомпилированную версию, на основе произвольной условной проверки . Я использовал это, чтобы экспортировать частные переменные для модульного тестирования или выдавать ошибки вместо их регистрации . Вот пример формата Dojo. Мне бы хотелось узнать, есть ли какие-либо специальные директивы, подобные этой, для компилятора Google Closure .
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;
}
};
})();
Edit
Closure, в окончательном руководстве упоминается, что вы можете расширить CommandLineRunner, добавив свои собственные проверки и оптимизации, которые могут быть одним из способов сделать это. Plover выглядит многообещающе, поскольку поддерживает пользовательские проходы .