2014-01-11 38 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)我用新信息更新了问题。 –