Node.js-TypeError:Object#<;对象>;没有办法
我正在尝试包含一个我发现的模块,该模块将帮助管理用户: 我复制了代码,并把它放在与我的server.js相同的目录中 我要求这样做:Node.js-TypeError:Object#<;对象>;没有办法,node.js,Node.js,我正在尝试包含一个我发现的模块,该模块将帮助管理用户: 我复制了代码,并把它放在与我的server.js相同的目录中 我要求这样做: var express = require('express'); var http = require('http'), mysql = require("mysql"); var server = http.createServer(app); var io = require('socket.io').listen(server); var sessio
var express = require('express');
var http = require('http'),
mysql = require("mysql");
var server = http.createServer(app);
var io = require('socket.io').listen(server);
var sessionMgm = require("./sessionManagement");
现在,在我的套接字中,我执行以下操作:
io.sockets.on('connection', function (socket) {
socket.on('setUserInfo', function (data) {
var sess = new Object();
sess.sessionId = socket.id;
sess.userId = data.userId;
sess.username = data.username;
sess.role = data.role;
sessionMgm.add(sess);
});
socket.on("private", function(data) {
if(data.agentName.length <= 0) {
data.agentName = 'Besökare';
}
io.sockets.in('Room_' + data.user_id).emit('updatechat', data.agentName, data.msg);
var user = sessionMgm.getSessionByUserId(data.id);
console.log('::: A socket with ID ' + user + ' connected! ::: ');
});
});
正如madflow提到的,在
sessionManagement.js
然后出现错误,因为您在初始化会话管理之前正在导出它。将导出行移到sessionManagement.js
的末尾应该可以解决这个问题
module.exports = sessionManagement; // <- you export here
...
...
...
var sessionManagement = { // and initialize here
正如madflow提到的,在
sessionManagement.js
然后出现错误,因为您在初始化会话管理之前正在导出它。将导出行移到sessionManagement.js
的末尾应该可以解决这个问题
module.exports = sessionManagement; // <- you export here
...
...
...
var sessionManagement = { // and initialize here
你把
module.exports=sessionManagement代码>在sessionManagement.js文件中?更好的是:Post代码中没有这个,现在我得到了一个不同的错误:TypeError:无法调用undefined的方法'getSessionByUserId'。。所以发生了一些事情:)@Elvin发布你的sessionManagement.js,否则我们只能guess@ElvinPut:module.exports=会话管理;在底部。您是否放置了module.exports=sessionManagement代码>在sessionManagement.js文件中?更好的是:Post代码中没有这个,现在我得到了一个不同的错误:TypeError:无法调用undefined的方法'getSessionByUserId'。。所以发生了一些事情:)@Elvin发布你的sessionManagement.js,否则我们只能guess@ElvinPut:module.exports=会话管理;在底部。这奏效了!:)Ofc现在我得到了新的错误:/var index=this.indexOfUser(userId);^ReferenceError:用户ID不正确defined@Elvin将getSessionByUserId
中的sessionId
更改为userId
,该定义起作用了!:)Ofc现在我得到了新的错误:/var index=this.indexOfUser(userId);^ReferenceError:用户ID不正确defined@Elvin将getSessionByUserId
定义中的sessionId
更改为userId
var sessionManagement; // undefined at this point
module.exports = sessionManagement; // <- you export here,
// but sessionManagement is undefined at this point
// and so will be module.exports after this line
...
...
...
sessionManagement = { // and initialize here