node.js中模块化socket.io的体系结构
architecture for modular socket.io in node.js
在node.js应用程序中,假设我有一个类似的app.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;
在这里需要app.js中的server
是一种好的做法吗?如果没有,还有什么更好的解决方案?thx
试着让sockets.js文件导出一个函数。然后在你的app.js中需要sockets文件,并传入任何相关的参数。
在您的lib/sockets.js:中
module.exports = function(server){
var io = require("socket.io").listen(server);
io.sockets.on('connection', function(socket) {
socket.on('event', function(msg) {
socket.emit('news', msg);
});
});
return io;
};
在你的app.js 中
var express = require("express");
var app = express();
var io = require("./lib/sockets")(app);
相关文章:
- 与您的操作系统或体系结构不兼容:fsevents@1.0.11.
- 在Flux体系结构中,如何管理存储相同类型数据的存储
- 具有http服务器、websocket和express的体系结构
- 改进插件体系结构的实现
- Chrome 扩展消息传递体系结构
- Web应用程序的体系结构/设计,对另一台服务器进行了大量Ajax调用
- RESTful Web 应用程序中的客户端服务器体系结构
- 基于 AJAX 的聊天的数据库体系结构
- Socket.io 向某些套接字(体系结构)发出消息
- 用于第三方 API 调用的 Web 应用体系结构
- MEAN 堆栈上登录系统的体系结构
- 网络表单和脚本服务体系结构
- 网站中的单页体系结构或应用程序在 html 导航中使用 servlet 而不打开新页面
- 需要经过身份验证的 WCF REST 体系结构建议
- 需要哪种体系结构才能允许多个 Web 应用协同工作,这些应用可以单独更新
- Angularjs中ajax的单一方法体系结构
- ReactJs组件体系结构
- 在Flux体系结构中,全局调度程序是否有害
- node.js中模块化socket.io的体系结构
- express+socket.io+mongoDB的体系结构选项是什么