Node.js 怪异节点.js“;对象不是函数;错误

Node.js 怪异节点.js“;对象不是函数;错误,node.js,typeerror,Node.js,Typeerror,在我的serverPlayer.js中,我有: var player = function(startX, startY) { var x = startX, y = startY, facingRight = true, id; return { x: x, y: y, id: id, facingRight: facingRight } }; module.exports = player; 在我的游戏服务器中,我有: v

在我的serverPlayer.js中,我有:

var player = function(startX, startY) {
var x = startX,
    y = startY,
    facingRight = true,
    id;

return {
    x: x,
    y: y,
    id: id,
    facingRight: facingRight
    }
};

module.exports = player;
在我的游戏服务器中,我有:

var util = require('util'),
    player = require("./serverPlayer");

........

var newPlayer = new player(data.x, data.y); // that's where the error targets
当我启动服务器时,一切正常。但是,当我在10秒后刷新浏览器时,服务器崩溃并给我一个“对象不是函数”错误

有人能解释一下这是怎么发生的吗?非常感谢


如果您感兴趣,您可以在

中找到整个项目,在
gameServer.js
中,这看起来像是问题:

for (i = 0; i < players.length; i++) {
    player = players[i];
for(i=0;i

我在任何地方都看不到
var-player
或此代码所在函数上的
player
参数。因此,它将分配给顶级
player
变量,并覆盖您初始化的值。

您不应将id返回为“未定义”。初始化它谢谢你的快速回复。我已经解决了这个问题,但没有解决我的问题。请查看答案。我的回答很糟糕。非常感谢。如果我发现自己遇到过几次这样的问题,最好明智地命名所需的模块,以避免冲突,例如
playerModule
将是一个更好的选择。