2
模塊化socket.io,比方說,我有一個app.js這樣架構在使Node.js應用的node.js
var express = require('express')
var app = express();
var server = http.createServer(app);
...
module.exports = {
app:app,
server:server
}
也有/lib/sockets.js,其中socket.io的所有邏輯應該在它看起來像這樣:
var server = require('../app.js').server;
var io = require("socket.io").listen(server);
io.sockets.on('connection', function(socket) {
socket.on('event', function(msg) {
socket.emit('news', msg});
});
});
module.exports = io;
是否需要從的server
app.js這裏好的做法呢?如果不是,那麼更好的解決方案是什麼? thx
這個工程。很棒,thx!現在,如果我想在第三個模塊中調用「emit」,該怎麼辦?我可以以某種方式從這裏導出io對象以在另一個模塊中使用它嗎? – Hinrich 2014-09-19 20:41:41
你會遵循與第三個模塊相同的模式。它會導出一個將io對象作爲參數的函數。然後在你的套接字文件中,你需要在第三個模塊中,並將io對象作爲參數傳遞給新的所需函數。 – aembke 2014-09-19 21:01:57