2013-07-03 62 views
0

目前,我有類似代碼:很好的方式

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.on函數,並想知道是否有將這些子函數分解爲多個文件的方法。是這樣的:

io.sockets.on('connection', function (socket) { 
    require('otherFunctions.js'); 
}); 

回答

2

這應該工作,我認爲:

io.sockets.on('connection', require('otherFunctions.js').socketConnection); 

然後在otherFunctions.js只是出口socketConnection

exports.socketConnection = function(socket) { 
    ... 
} 
+0

爲什麼後面的.socketConnection的要求?我怎樣才能包含多個文件? – inControl

+0

'.socketConnection'將是您在'otherFunction.js'中導出的函數的名稱。你正在使用它的地方你的匿名函數,所以它會採取一個'套接字'對象。 – mpen

+0

不錯,我仍然會嘗試這個(明天),但我會如何需要多個文件? – inControl