我刚开始表达,发现我的 app.js 变得有点拥挤。有没有一种方法可以获取所有套接字事件,将它们放入文件夹中的另一个文件中并将其包含在
io.sockets.on("connection", function(socket){
//Require socket event file here
});
Run Code Online (Sandbox Code Playgroud)
我尝试了一些类似的事情:
require('./mysockets')(server);
Run Code Online (Sandbox Code Playgroud)
并在另一个文件中执行以下操作:
var io = require("socket.io");
// declare module constructor that is passed the http server to bind to
module.exports = function(server) {
io.listen(server);
//My code here
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下我错过了什么吗?我已经包含了一个pastebin:http://pastebin.com/zvs8aMjN
这显示了当我执行上述操作时我在控制台中遇到的错误。
编辑:
添加了我的套接字事件以显示它是如何使用的。我已经确认所有这些代码在直接从我的 app.js 运行时都有效,但是 require 似乎破坏了它。
console.log("Client connection, no username");
// ===============================================
// DISCONNECTION
// ===============================================
socket.on('disconnect', function(data) {
// Allows us to track if a unknown user has disconnected or if a known user has dosconnected …Run Code Online (Sandbox Code Playgroud)