我正在尝试使用socket.io 和express。是否可以在express应用程序中初始化routes/index.js内的套接字?
我尝试要求 app.js 并听取它,但它不起作用。
var app = require('../app.js');
var io = require('socket.io')(app);
如果上述不可能,如何在app.js中初始化io变量,然后在index.js中使用它?
我想了解的是如何模块化socket.io
假设我有一个网站,其中两个页面使用套接字。我不想将它们的所有代码都放在 app.js 中。
我找到了解决方案。这不完全是我想要的,但它会做。
Nodejs include socket.io in router page
正如上面链接中所说。
//app.js
var sockets = require('./sockets');
sockets.socketServer(app, server);
// sockets.js
var socketio = require('socket.io');
exports.socketServer = function (app, server) {
var io = socketio.listen(server);
io.sockets.on('connection', function (socket) {
...
});
};
目前,所有发出的信号都发送到 socket.js。但我想将它分成多个文件。
我是一名优秀的程序员,十分优秀!