对象没有定义成模块,Nodejs的javascript

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

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

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

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

创build一个房间后,我使用大厅对象内的一个方法。

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

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

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

它告诉我,游戏没有被定义,并closures了服务器…我该怎么做才能使用模块游戏里面的大厅? 这是我第一次使用nodejs,我仍然是一个新手,我不知道如何使它工作。 :/

谢谢你的帮助!

你已经将它调用到服务器模块的范围内,并且目前只能从该范围访问它。

你必须要求大厅模块内的游戏模块才能在那里使用它。

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

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

到您的代码的顶部。