在多个文件上拆分Node.js代码的好方法
我目前的代码类似于:在多个文件上拆分Node.js代码的好方法,node.js,Node.js,我目前的代码类似于: io.sockets.on('connection', function (socket) { socket.on('ping', function (data) { socket.emit("ping", data); }); }); 我想分开: socket.on('ping', function (data) { socket.emit("ping", data); }); 进入一个单独的文件,但它仍然能够使用socket变量,我在“conn
io.sockets.on('connection', function (socket) {
socket.on('ping', function (data) {
socket.emit("ping", data);
});
});
我想分开:
socket.on('ping', function (data) {
socket.emit("ping", data);
});
进入一个单独的文件,但它仍然能够使用socket变量,我在“connection”函数中使用了很多socket.on函数,我想知道是否有办法将这些子函数拆分为多个文件。比如:
io.sockets.on('connection', function (socket) {
require('otherFunctions.js');
});
我认为这应该行得通:
io.sockets.on('connection', require('otherFunctions.js').socketConnection);
然后在otherFunctions.js
中,只需导出socketConnection
:
exports.socketConnection = function(socket) {
...
}
为什么需要后面的.socketConnection?如何包含多个文件?
.socketConnection
将是您在otherFunction.js
中导出的函数名。您正在使用它来代替匿名函数,因此它将包含一个套接字
对象。很好,我仍然需要尝试(明天),但我如何需要多个文件?目前的说法是没有定义池,如何将池作为变量添加到require中?我不确定“池”是什么。您可以像往常一样在otherFunctions.js
顶部“需要”任何您需要的东西。您可以需要任意多个文件,也可以在一个文件中定义所有函数。如果您只需要文件中的一个函数,您甚至可以执行module.exports=function(socket)
,然后删除.socketConnection
位。