Javascript 使用多个文件捕获事件的NodeJ

Javascript 使用多个文件捕获事件的NodeJ,javascript,node.js,Javascript,Node.js,我想知道是否可以在NodeJ上使用多个文件来捕获事件并处理它们 例如,现在我有一个server.js,其中充满了处理聊天室和聊天室的代码 这将简单地如下所示 var fs = require( 'fs' ); var app = require('express')(); var https = require('https'); server.listen(1234); io.on('connection', function(client){ client.on('room_j

我想知道是否可以在NodeJ上使用多个文件来捕获事件并处理它们

例如,现在我有一个server.js,其中充满了处理聊天室和聊天室的代码

这将简单地如下所示

var fs = require( 'fs' );
var app = require('express')();
var https = require('https');

server.listen(1234);

io.on('connection', function(client){

    client.on('room_join', function(roomId){(
        client.join(roomId);
    });

    client.on('message', function(data){
        io.to(data.roomId).emit('message', {message: data.message});
    });
});
var rooms = require('modules/rooms.js');

client.on('room_join', function(roomId){
    rooms.join(roomId);
});
现在,如果可能的话,我希望创建一个messages.js和rooms.js文件来处理这个问题。但实际上我更喜欢那些捕捉事件的人。所以我的rooms.js文件看起来像这样

//rooms.js

client.on('room_join', function(roomId){( //Catching the event
    client.join(roomId); //Still able to handle the client property made in the sever.js
});
这是可能的,还是我可以只需要rooms.js文件并按如下方式使用它

var fs = require( 'fs' );
var app = require('express')();
var https = require('https');

server.listen(1234);

io.on('connection', function(client){

    client.on('room_join', function(roomId){(
        client.join(roomId);
    });

    client.on('message', function(data){
        io.to(data.roomId).emit('message', {message: data.message});
    });
});
var rooms = require('modules/rooms.js');

client.on('room_join', function(roomId){
    rooms.join(roomId);
});
首选的解决方案是具有以下结构的东西

//server.js
var fs = require( 'fs' );
var app = require('express')();
var https = require('https'); 
var messagesEvents = require('events/messages.js');
var roomEvents = require('events/rooms.js');


server.listen(1234);

// events/messages.js

var messages = require('../modules/messages.js');

io.on('connection', function(client){
    client.on('message', function(data){
        messages.send(client, data, io);
    });
});

// modules/messages.js

function send(client, data, io){
    return io.to(data.roomId).emit('message', {message: data.message});
}

你在找吗?@Skynet这将通过呼叫rooms获得我已经拥有的一切。加入活动。但更重要的是,我希望能够完全将整个事件调用移动到另一个文件中。例如,roomEvents.js将捕获与房间有关的所有事件,messagesEvents.js将捕获链接到消息的所有事件。我更新了问题,更好地解释了结果,我想知道这是否可能与nodejs有关。与其说是创建别名,不如说是创建链接到的帖子。