2013-11-15 84 views
5

手冊上說,我可以使用:警告白名單不會在谷歌關閉編譯器工作

--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。我發現

  • 行號被完全忽略:它們從輸入文件和遇到的警告都被剝離。
  • 文件名的格式與輸出時一樣,也就是說它們出現在命令行中。
  • 有文件名之後冒號,隨後空間,然後是沒有嚴重程度(WARNINGERROR)的指示符的消息文本。
  • 白名單的主要影響似乎是將錯誤轉化爲警告。所以當應用於警告時,將會有完全沒有影響
  • Tibos提到的WhitelistBuilder在代碼中,但我沒有辦法從命令行使用它。

正因爲如此,該功能似乎是我的使用情況大多無用......

+0

如果有一種方法可以使用像這樣的文件完全忽略一些錯誤,那將是非常棒的。 – alex