Можете ли вы исключить часть исходного кода из скомпилированной версии с помощью компилятора Google Closure?

Недавно я построил проект, используя набор инструментов 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 выглядит многообещающе, поскольку поддерживает пользовательские проходы .

8
задан daniellmb 5 May 2011 в 22:10
поделиться