2015-10-06 26 views
0

我正在Phaser中构建游戏并使用Phaser Isometric插件。我也在使用grunt/bower/yeoman。我已经采用了Isometric插件的源代码.js文件并将其包含在本地,因为bower不会安装它。Grunt:移相器未定义

无论如何,无论何时我运行grunt,我都会给出错误,指出Phaser并未在Isometric插件源文件和我的主游戏文件中定义。我已经通过凉亭安装了Phaser,它在bower_components目录中显示出来,当我运行grunt serve时,显示在我的主HTML文档中。它包含在HTML文件和依赖关系中,但grunt说Phaser没有定义。因此,Phaser Isometric插件无法使用,因为它有很多'Phaser' is not defined错误,它会停止扫描文件,从而导致页面崩溃。

为什么会发生此错误,我该如何解决它?

+0

Gruntfile内容? – ryanlutgen

+0

发生了什么实际上是一个JSHint错误。由于变量Phaser未在其主JS文件中定义,因此每次使用JSHint时都会抛出错误,导致其停止扫描。我们不得不告诉JSHint忽略整个文件,结果很好。 – apizzimenti

+1

您可以在项目根目录下为'.jshintrc'添加忽略选项:'“globals”:{“Phaser”:false}' – vbarinov

回答

0

自从我评论我的解决方案以来,已经差不多两年了(至今),但最终还是值得回应。

正如我在上面的评论中提到的,我们使用JSHint来提升我们的代码。我们不小心将node_modules包含在要创建的路径中,因此Phaser本身中的一个未定义变量正在抛出数百个错误,迫使JSHint和Grunt停止扫描。忽略node_modules是一个简单的解决方案。

我们已经转向了不同的构建工具,但如果有人正在使用类似的linting设置,此错误可能会再次弹出。