Javascript 使用多个文件捕获事件的NodeJ
我想知道是否可以在NodeJ上使用多个文件来捕获事件并处理它们 例如,现在我有一个server.js,其中充满了处理聊天室和聊天室的代码 这将简单地如下所示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
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有关。与其说是创建别名,不如说是创建链接到的帖子。