2015-10-06 3 views
0

Я создаю игру в Phaser и используя плагин Phaser Isometric. Я также использую grunt/bower/yoman. Я взял файл .js источника плагина Isometric и включил его локально, так как bower не будет устанавливать его.Grunt: Phaser не определен

В любом случае, всякий раз, когда я запускаю grunt, мне дают ошибки, говорящие, что Phaser не определен как в исходном файле изометрического плагина, так и в моем основном игровом файле. Я установил Phaser через bower, и он отображается в каталоге bower_components и, когда я запускаю grunt serve, в своем основном документе HTML. Он включен в файл HTML и в зависимости, но ворчит, что Phaser не определен. Из-за этого плагин Phaser Isometric непригоден, поскольку в нем так много ошибок 'Phaser' is not defined, что он прекращает сканирование файла, что приводит к сбою страницы.

Почему эта ошибка возникает, и что я могу ее исправить?

+0

Содержимое Gruntfile? – ryanlutgen

+0

То, что произошло, было фактически ошибкой JSHint. Поскольку переменная Phaser не была определена в основном JS-файле, JSHint выдавал ошибку каждый раз, когда она использовалась, в результате чего она прекращала сканирование. Мы просто должны были сказать JSHint игнорировать весь файл, и все получилось отлично. – apizzimenti

+1

Вы можете добавить опцию ignore в '.jshintrc' в корне проекта:' "globals": {"Phaser": false} ' – vbarinov

ответ

0

Прошло почти два года (до дня), так как я прокомментировал свое решение, но он, наконец, должен ответить.

Как я уже упоминал выше, мы использовали JSHint для кодирования нашего кода. Мы случайно включили node_modules в путях, которые должны быть линированы, и поэтому неопределенная переменная внутри самого Phaser выкидывала сотни ошибок, заставляя JSHint и Grunt останавливать сканирование. Игнорирование node_modules было простым решением.

С тех пор мы перешли к различным инструментам сборки, но эта ошибка может появиться снова, если кто-либо использует подобную настройку линтинга.

Смежные вопросы