2013-11-15 3 views
5

руководство говорит, что я могу использовать:Предупреждение белый список не работает в Closure Compiler Google

--warnings_whitelist_file VAL   : A file containing warnings to 
              suppress. Each line should be of the 
              form 
              <file-name>:<line-number>? <warning-d 
              escription> 

Это то, что мой белый список выглядит следующим образом:

ef-utils.js:1 Redeclared variable: ef 
ef-utils.js:1 Variable ef first declared in externs-ko.js 
ef-validation.js:1 Redeclared variable: ef 
ef-validation.js:1 Variable ef first declared in externs-ko.js 

И я все еще получаю предупреждения во время компиляции :

ef-utils.js:1: WARNING - Redeclared variable: ef 
?var ef = (function (ns, ko) { 
    ^

ef-utils.js:1: WARNING - Variable ef first declared in externs-ko.js 
?var ef = (function (ns, ko) { 
    ^

ef-validation.js:1: WARNING - Redeclared variable: ef 
?var ef = (function (ns, ko) { 
    ^

ef-validation.js:1: WARNING - Variable ef first declared in externs-ko.js 
?var ef = (function (ns, ko) { 
    ^

ответ

1

Вы должны использовать WhitelistBuilder для создания белого списка файлов. По внешнему виду вам нужны абсолютные пути к файлам, а не относительные.

+0

Эта веб-страница не работает больше. Кроме того, я больше не могу найти этот инструмент в Интернете. – efficks

+0

ClosureCompiler теперь находится на GitHub. Класс WhitelistBuilder [здесь] (https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/WhitelistWarningsGuard.java#L212), но он не кажется быть предпочтительным способом обработки предупреждений. Я буду обновлять свой ответ, когда определяю рекомендуемый процесс. – Tibos

3

Я только что поиграл с the current WhitelistWarningsGuard. Я узнал, что

  • Номера строк полностью игнорируются: они удаляются как из входного файла, так и с обнаруженных предупреждений.
  • Имена файлов отформатированы так, как они предназначены для вывода, то есть как они встречаются в командной строке.
  • Существует двоеточие после имени файла, а затем два пространства, а затем текст сообщения без индикатора тяжести (WARNING, ERROR).
  • Главный эффект белого списка, по-видимому, превращает ошибки в предупреждения. Поэтому при применении к предупреждениям будет никакого эффекта вообще.
  • WhitelistBuilder, указанный Тибосом в коде, но я не вижу возможности использовать его из командной строки.

Как это, эта функция, как представляется, в основном бесполезны для моих случаев использования ...

+0

Было бы здорово, если бы был способ полностью игнорировать некоторые ошибки, используя такой файл. – alex

0

Как MVG правильно сформулировать этот флаг реализуется это бесполезно. Хотя, с довольно легкими изменениями в коде компилятора, он может быть обращен к тому, что мы все ожидаем от него: подавление ошибок и предупреждений, которые мы не хотим видеть.

См подробности здесь: Suppressing or resolving compiler errors in goog.base

Смежные вопросы