3

Я пытаюсь скомпилировать один из моих проектов HTML5 с помощью Google Closure. Я получаю несколько ошибок, которые я не знаю, как их решить. Фактически, это та же ошибка, но для разных переменных.Google close variable window/event/console/... is undeclared error

Здесь ошибки сообщения:

переменная окна необъявленной переменная событие необъявленная переменная консоли необъявленная переменная Аудио необъявленная

Эти переменные Javascript встроенных переменных. Если я скомпилирую этот же проект непосредственно в командной строке, он работает. Но в моем случае мне нужно скомпилировать этот проект, используя файл ant (процесс сборки). Мой скрипт сборки муравьев использует тот же файл jar, который я использую в командной строке. С помощью опции warnings = "verbose" она не работает. Если я удалю его, он будет работать. Если я хотел бы использовать предупреждения о вариантах - «подробный», что мне делать? Пожалуйста, объясните мне разницу.

Может ли кто-нибудь помочь мне, пожалуйста? Спасибо!

+2

Похоже, что внешние экстерьеры по умолчанию не включаются. Можете ли вы опубликовать параметры/флаги компилятора, которые вы используете? –

+0

Что сказал Чад. Как вы используете компилятор? – John

ответ

8

Параметр --warnings = verbose устанавливает компилятор в режим «ниндзя»; т. е. каждая отдельная переменная в вашем файле должна быть объявлена ​​(аннотированная!) правильно. Например, переменная неизвестна компилятору, но Closure имеет реализацию окна (независимо от используемой платформы). Если ваши переменные включены в какой-либо другой файл, используйте externs. Если вы все еще хотите использовать режим Verbose без ошибки «необъявленной переменной», используйте флаг --jscomp_off = checkVars