首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个类nodejs获取新对象

从另一个类nodejs获取新对象
EN

Stack Overflow用户
提问于 2016-04-26 17:36:23
回答 1查看 3.2K关注 0票数 0

好的,我有一个包含

对象JS

代码语言:javascript
复制
var GameServer = require("./GameServer");
var gameServer = new GameServer();

GameServer()包含

GameServer JS

代码语言:javascript
复制
function GameServer() {
    // Startup
    this.run = true;
    this.lastNodeId = 1;
    this.lastPlayerId = 1;
    this.clients = [];
    this.largestClient; // Required for spectators
    this.nodes = [];
    this.nodesVirus = []; // Virus nodes
    this.nodesEjected = []; // Ejected mass nodes
    this.nodesPlayer = []; // Nodes controlled by players
}

现在,我想要的是从gameServer那里得到ObjectClass

在我的课堂上我试过

新JS

代码语言:javascript
复制
var ObjectClass = require("./ObjectClass");
var gameServer = ObjectClass.gameServer;

但是通过这种方式,我将无法获取类GameServer()属性。我刚开始接触节点,很抱歉我要问这个问题。我现在被困住了

当我试图从GameServer抓取客户端时

代码语言:javascript
复制
var ObjectClass = require("./ObjectClass");
var gameServer = ObjectClass.gameServer;
gameServer.clients.length;

我搞错了,客户还没有定义。有办法绕过这事吗?

我不能修改GameServer或对象js.。简单地说,我把一个脚本附加到一个脚本上,以获得额外的功能。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-26 18:14:28

您丢失了文件的导出,因此在执行“要求(文件)”时,要获取和空对象{}。

对于gameServer,您应该执行如下操作:

代码语言:javascript
复制
'use strict';
function GameServer() {
    // Startup
    this.run = true;
    this.lastNodeId = 1;
    this.lastPlayerId = 1;
    this.clients = [];
    this.largestClient; // Required for spectators
    this.nodes = [];
    this.nodesVirus = []; // Virus nodes
    this.nodesEjected = []; // Ejected mass nodes
    this.nodesPlayer = []; // Nodes controlled by players
}

module.exports =  exports = GameServer;

ObjectClass

代码语言:javascript
复制
'use strict';
var GameServer = require("./GameServer");
var gameServer = new GameServer();
exports.gameServer = gameServer;

您需要理解需要缓存文件返回的值,因此您将使用gameServer的单例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36871960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档