web-dev-qa-db-ja.com

Closureコンパイラのlanguage_inオプションを設定するにはどうすればよいですか?

IE8の解析エラーを防ぐために、Closureコンパイラでlanguage_inオプションを設定する必要があります。

ERROR-解析エラー。 IE8(およびそれ以下)は、配列およびオブジェクトリテラルの末尾のコンマを誤って解析します。新しいバージョンのJSをターゲットにしている場合は、適切なlanguage_inオプションを設定します。

これに関連するクロージャーグループの投稿を見つけましたが、オプションはビルドスクリプトの1つではなく、Javaコンパイラーで直接設定されています。設定できる必要があります。ビルドスクリプトでそれを。

私はclosure/bin/build /のスクリプトを見ていますが、そこにはいくつかあります。クロージャービルダーにオプションを追加しようとしましたが、失敗しました。

このオプションを正しく設定する方法について誰かに指示してもらえますか?

ありがとうございました。

19
Elisabeth

クロージャーコンパイラアプリケーション--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 enum には、これらの値についてもう少し詳しく説明しています。

Closure Builder を使用すると、--language_inフラグが引数としてに渡されます。
--compiler_flags次のように:

--compiler_flags="--language_in=ECMASCRIPT5"
27