2014-01-11 39 views
2

我使用關閉編譯器與--warning_level=VERBOSE--compilation_level ADVANCED_OPTIMIZATIONS使用Closure Compiler - {SyntheticVarsDeclar}:警告 - 重新聲明變量

它輸出:

{SyntheticVarsDeclar}: WARNING - Redeclared variable: i 
0 error(s), 1 warning(s) 

有沒有辦法找出什麼地方該i更多信息變量被聲明?

//更新

我在所有的文件通過每一個i變量運行,有沒有被重新聲明。

這裏正在使用標誌的列表:

--jscomp_off=externsValidation

--summary_detail_level=3

--warning_level=VERBOSE

--externs

--compilation_level ADVANCED_OPTIMIZATIONS

--output_wrapper

--source_map_format

--js_output_file

//更新2

我使用的是最新的關閉編譯自: http://dl.google.com/closure-compiler/compiler-latest.zip

當我添加一個 「變種I」在第一個文件的頂部,編譯器返回:

firstFile.js:1: WARNING - Redeclared variable: i 
var i; 
    ^

並且沒有先前的{SyntheticVarsDeclar}警告。

回答

1

確認--third_party標誌未被使用。除非聲明丟失,否則不應該添加{SyntheticVarsDeclar}。 --third_party標誌導致缺少全局變量聲明在「{SyntheticVarsDeclar}」中被「聲明」。

+0

--third_party標誌未被使用。我更新了這個問題。 –

+0

有兩件事:(1)確認你使用的是最新版本的編譯器。 (2)作爲一個實驗,在第一個文件的頂部添加一個「var i」。 – John

+0

(1)是的,我正在使用最新的Closure編譯器。 (2)我用新信息更新了問題。 –