所有:初學者感到困惑的Express模塊結構和socket.io
我是新來的Node.js,當知道整合Socket.io到Express.js,有關於模塊化一個問題困惑了我這麼多:
我用默認 Express.js項目結構,主要js文件涉及我搞不清是:
app.js:定義請求處理程序,並使用module.exports =應用;作爲一個模塊。
bin/www:需要app.js,設置並配置http服務器。
一切看起來都很模塊化。
但是,當涉及到Socket.io整合,這個結構開始迷惑我:
從Socket.io文檔:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(80);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
由於socket.io需要服務器variabe,所以我想出這個代碼應該在www文件中,但是我也想將io事件處理部分模塊化成模塊,但是我不知道如何將www變量導出到www,因爲它需要來自www的可變服務器。
我想知道:這是否意味着我必須保持www文件中的所有socketio事件處理代碼?任何人都可以給我一些代碼來展示如何模塊化?
PS:感謝您通過並給出了對此進行反對的投票,這證明這是一個入門級問題或無價值的問題,但請將您的迴應留在您的投票中,因爲入門非常重要像我這樣的初學者。
感謝