Meteor和Phaser - 简单样本的错误

时间:2015-07-29 02:18:53

标签: javascript cordova meteor phaser-framework

我一直在运行Meteor应用程序以及独立的Phaser应用程序,一切都很好。但是,当我尝试使用Meteor运行Phaser游戏时,我会遇到错误。

所以,有一个问题是,是否有人与Meteor一起成功运行Phaser。

另一个问题/问题更具体。我运行以下内容:

  • ubuntu 14.04
  • Meteor 1.1.0.2
  • Phaser v2.3.0

我的目录包含:

  • app.js
  • 的index.html
  • phaser.js

app.js:

    if (Meteor.isClient) {
        Template.game.game = function(){
        var game = new Phaser.Game(320,320, Phaser.AUTO, 'firstGame', { preload: preload, create: create, update:update });
        }

        function preload(){
        }

        function create(){
        }

        function update(){
        }
    }

    if (Meteor.isServer) {
    };
    }

的index.html:

    <body>
      {{> game}}
    </body>

    <template name="game">
      {{game}}
    </template>

运行流星时的错误是:

cmt@ubuntu:~/projects/myMeteorProjects/issueReplication1$ meteor
[[[[[ ~/projects/myMeteorProjects/issueReplication1 ]]]]]

=> Started proxy.                             
=> Started MongoDB.                           
W20150728-21:54:46.964(-4)? (STDERR)          
W20150728-21:54:46.966(-4)? (STDERR) /home/cmt/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20150728-21:54:46.966(-4)? (STDERR)                        throw(ex);
W20150728-21:54:46.967(-4)? (STDERR)                              ^
W20150728-21:54:46.967(-4)? (STDERR) ReferenceError: document is not defined
W20150728-21:54:46.967(-4)? (STDERR)     at root (app/phaser.js:2546:34)
W20150728-21:54:46.967(-4)? (STDERR)     at app/phaser.js:12437:4
W20150728-21:54:46.967(-4)? (STDERR)     at app/phaser.js:88287:3
W20150728-21:54:46.967(-4)? (STDERR)     at /home/cmt/projects/myMeteorProjects/issueReplication1/.meteor/local/build/programs/server/boot.js:222:10
W20150728-21:54:46.967(-4)? (STDERR)     at Array.forEach (native)
W20150728-21:54:46.968(-4)? (STDERR)     at Function._.each._.forEach (/home/cmt/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
W20150728-21:54:46.968(-4)? (STDERR)     at /home/cmt/projects/myMeteorProjects/issueReplication1/.meteor/local/build/programs/server/boot.js:117:5
=> Exited with code: 8
W20150728-21:54:51.718(-4)? (STDERR)          
W20150728-21:54:51.719(-4)? (STDERR) /home/cmt/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20150728-21:54:51.719(-4)? (STDERR)                        throw(ex);
W20150728-21:54:51.719(-4)? (STDERR)                              ^
W20150728-21:54:51.730(-4)? (STDERR) ReferenceError: document is not defined
W20150728-21:54:51.730(-4)? (STDERR)     at root (app/phaser.js:2546:34)
W20150728-21:54:51.730(-4)? (STDERR)     at app/phaser.js:12437:4
W20150728-21:54:51.730(-4)? (STDERR)     at app/phaser.js:88287:3
W20150728-21:54:51.730(-4)? (STDERR)     at /home/cmt/projects/myMeteorProjects/issueReplication1/.meteor/local/build/programs/server/boot.js:222:10
W20150728-21:54:51.731(-4)? (STDERR)     at Array.forEach (native)
W20150728-21:54:51.731(-4)? (STDERR)     at Function._.each._.forEach (/home/cmt/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
W20150728-21:54:51.731(-4)? (STDERR)     at /home/cmt/projects/myMeteorProjects/issueReplication1/.meteor/local/build/programs/server/boot.js:117:5
=> Exited with code: 8
W20150728-21:54:56.477(-4)? (STDERR)          
W20150728-21:54:56.478(-4)? (STDERR) /home/cmt/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20150728-21:54:56.479(-4)? (STDERR)                        throw(ex);
W20150728-21:54:56.480(-4)? (STDERR)                              ^
W20150728-21:54:56.490(-4)? (STDERR) ReferenceError: document is not defined
W20150728-21:54:56.490(-4)? (STDERR)     at root (app/phaser.js:2546:34)
W20150728-21:54:56.491(-4)? (STDERR)     at app/phaser.js:12437:4
W20150728-21:54:56.491(-4)? (STDERR)     at app/phaser.js:88287:3
W20150728-21:54:56.491(-4)? (STDERR)     at /home/cmt/projects/myMeteorProjects/issueReplication1/.meteor/local/build/programs/server/boot.js:222:10
W20150728-21:54:56.492(-4)? (STDERR)     at Array.forEach (native)
W20150728-21:54:56.492(-4)? (STDERR)     at Function._.each._.forEach (/home/cmt/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
=> Exited with code: 8
=> Your application is crashing. Waiting for file change.
W20150728-21:54:56.492(-4)? (STDERR)     at /home/cmt/projects/myMeteorProjects/issueReplication1/.meteor/local/build/programs/server/boot.js:117:5

1 个答案:

答案 0 :(得分:3)

我会尝试将phaser.js放入客户端文件夹。

请参阅文件结构化的meteor文档:http://docs.meteor.com/#/full/structuringyourapp

我相信正在发生的是phaser.js正在尝试访问该节点(服务器端)中不存在的文档。该文件只是客户端。

此外,将它保存在客户端文件夹中可能是一个好习惯,因为它只是你想在客户端上运行的东西。