Как установить параметр language_in для компилятора Closure?
Мне нужно установить параметр language_in в компиляторе Closure, чтобы предотвратить ошибку синтаксического анализа IE8:
ОШИБКА - Ошибка анализа. IE8 (и ниже) обрабатывает запятые запятые в массиве и литералах объектов неправильно. Если вы ориентируетесь на более новые версии JS, установите соответствующий параметр language_in.
Я нашел сообщение в группе замыкания, относящееся к этому, однако параметр устанавливается непосредственно в java-компиляторе, а не через один из скриптов сборки. Мне нужно установить его на сборку script.
Я смотрю скрипты в clos/bin/build/, и их несколько. Я попробовал добавить опцию к строителю замыкания, но это не удалось.
Может ли кто-нибудь направить меня о том, как правильно установить этот параметр?
Спасибо.
Ответы
Ответ 1
Запустите приложение компилятора Closure с флагом --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"