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

时间:2012-11-06 23:58:47

标签: javascript google-closure-compiler compiler-options

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

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

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

我正在查看closure / bin / build /中的脚本,其中有几个。我尝试将选项添加到闭包构建器,但它失败了。

有人可以指导我如何正确设置此选项吗?

谢谢。

1 个答案:

答案 0 :(得分:27)

使用--help标志运行Closure Compiler Application以查看每个标志的说明。

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 enum有关这些值的详细信息。

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

--compiler_flags="--language_in=ECMASCRIPT5"