我能否消除外部库的Closure Compiler警告?

4
当我运行闭包编译器时,会出现很多这样的警告:
 [exec] jquery/3.2.1/dist/jquery.js:733: WARNING - Suspicious code. The result of the 'getprop' operator is not being used.
 [exec]     arr[ preferredDoc.childNodes.length ].nodeType;
 [exec]     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

我的构建结果出现了大约30个警告,全部来自jquery和bootstrap.js。

我使用Ant脚本来处理构建。调用Closure Compiler的代码如下:

<target name="build_scripts" description="Compile frontend scripts">
 <exec executable="${java.exec}" failonerror="true">
   <arg line="-client -d64 -jar ${closure.jar}"/>
   <arg line="--js ${src.dir}/assets/js/*.js"/>
   <arg line="--js ${src.dir}/assets/js/**/*.js"/>
   <arg line="--js ${weblib.dir}/jquery/3.2.1/dist/jquery.js"/>
   <arg line="--js ${weblib.dir}/bootstrap-sass/3.3.7/assets/javascripts/bootstrap.js"/>
   <arg line="--externs ${build.dir}/jquery-3.2.externs.js"/>
   <arg line="--dependency_mode=STRICT"/>
   <arg line="--entry_point ${src.dir}/assets/js/main.js"/>
   <arg line="--js_output_file ${out.js.dir}/main.js"/>
   <env key="JAVA_HOME" path="${java_home}"/>
 </exec>
</target>

我认为externs文件的目的是为了消除像这样的警告? 这个问题 的答案似乎表明我需要手动更改外部库中的文件。
我不想关闭所有警告,只想关闭来自外部库的警告。这可能吗?

理论上,您可以拦截消息并过滤与之匹配的消息。解析输出(据我所知,没有XML或JSON)可能会很有趣,但我相信有人已经做过了...此外,您的最终构建消息“警告计数”将与输出的不同... - Graham P Heath
1个回答

3
--hide_warnings_for='path/segment' 标志应该可以满足您的需求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接