2013-11-15 13 views
5

Il manuale dice che posso usare:Attenzione whitelist non funziona in Google compilatore chiusura

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

Questo è ciò che la mia lista bianca appare come:

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 

E sto ancora ricevendo gli avvisi durante la compilazione :

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) { 
    ^

risposta

1

È consigliabile utilizzare il WhitelistBuilder per creare il file whitelist. Dal suo aspetto, hai bisogno di percorsi assoluti per i file, non relativi.

+0

pagina Questa web non funziona più. Inoltre, non riesco a trovare questo strumento più sul web. – efficks

+0

ClosureCompiler è ora su GitHub. La classe WhitelistBuilder è [qui] (https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/WhitelistWarningsGuard.java#L212), ma non sembra essere il modo preferito per gestire gli avvisi più. Aggiornerò la mia risposta quando determinerò il processo raccomandato. – Tibos

3

Ho appena giocato con the current WhitelistWarningsGuard. Ho scoperto che

  • I numeri di riga sono completamente ignorati: vengono eliminati sia dal file di input sia dagli avvertimenti rilevati.
  • I nomi dei file sono formattati così come sono per l'output, ad esempio quando si verificano sulla riga di comando.
  • C'è un due punti dopo il nome del file, seguito da due spazi, seguito dal testo del messaggio, senza indicatore della gravità (WARNING, ERROR).
  • L'effetto principale della lista bianca sembra trasformare gli errori in avvisi. Quindi, quando applicato agli avvisi, non ci sarà alcun effetto senza alcun.
  • Il WhitelistBuilder menzionato da Tibos è presente nel codice, ma non vedo alcun modo di usarlo dalla riga di comando.

Come lo è, questa caratteristica sembra essere per lo più inutile per i miei casi di utilizzo ...

+0

Sarebbe bello se ci fosse un modo per ignorare completamente alcuni errori usando un file come questo. – alex

0

Come MvG dichiarato correttamente come viene implementato questo flag è inutile. Anche se, con modifiche piuttosto leggere al codice del compilatore, può essere trasformato in ciò che tutti ci aspettiamo da esso: sopprimere gli errori e gli avvertimenti che non vogliamo vedere.

Vedi dettagli qui: Suppressing or resolving compiler errors in goog.base

Problemi correlati