对象未定义为模块,Nodejs javascript

时间:2016-01-25 09:35:37

标签: javascript node.js

我正在开发一个Nodejs的多人游戏,它将有一个大厅,我将拥有与托管和连接相关的所有逻辑。

实际上我有三个文件server.js,lobby.js和game.j,最后一个是我想要做的游戏逻辑,它将在服务器上运行。

当我初始化服务器时,我需要大厅和游戏。

var Lobby = require("./server/lobby");
var Game= require("./server/game");

在创建房间后,我在Lobby对象中使用了一个方法。

socket.on('createRoom',function(roomName){
    Lobby.createRoom(roomName);
});

但是当我创建一个新的对象游戏时进入大厅

createRoom: function(name){
    var game = new Game();

它告诉我游戏没有定义并关闭服务器...我需要做什么来使用模块游戏里面的大厅?这是我第一次使用nodejs,我仍然是一个新手,我不知道如何使它工作。 :/

谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您已将其调用到Server模块的范围内,并且当前只能从该范围访问它。

您必须在Lobby模块中要求Game模块才能在那里使用它。

答案 1 :(得分:0)

var不会使对象成为全局对象。在lobby.js文件中,添加

var Game = require('./game');

到代码的顶部。