如何为Closure编译器设置language_in选项?

19

我需要在Closure编译器上设置"language_in"选项,以防止IE8解析错误:

错误-解析错误。 IE8(及以下版本)将不正确地解析数组和对象文字中的尾随逗号。 如果您要针对更新版本的JS,请设置相应的"language_in"选项。

我在closure群组中找到了一篇与此相关的帖子,但是该选项是直接在java编译器上设置的,而不是通过其中一个构建脚本设置。 我需要能够在构建脚本上设置它。

我正在查看closure/bin/build/中的脚本,其中有几个脚本。 我尝试在closure builder中添加该选项,但失败了。

有人能告诉我如何正确设置此选项吗?

谢谢。


如果您想在通过wro4j(Maven)编译时添加选项,请参见:https://dev59.com/w2zXa4cB1Zd3GeqPPxIL#48442401 - Nux
1个回答

28

运行Closure Compiler应用程序并使用--help标志以查看每个标志的描述。

java -jar compiler.jar --help

CommandLineRunner定义了--language_in的允许值:

--language_in
设置输入源符合的语言规范。
可选项:ECMASCRIPT3、ECMASCRIPT5、ECMASCRIPT5_STRICT、 ECMASCRIPT6_TYPED(实验性)、ECMASCRIPT_2015、ECMASCRIPT_2016、 ECMASCRIPT_2017、ECMASCRIPT_NEXT。

LanguageMode枚举对这些值有更详细的说明。

使用Closure Builder--language_in标志将作为参数传递给
--compiler_flags,如下所示:

--compiler_flags="--language_in=ECMASCRIPT5"

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