[英]Node.js architecture and app structure
我一直在用socket.io构建一个简单的基于Node / Express的聊天客户端,在添加依赖项的导入方式与使用闭包将依赖项传递给组件之间有些困惑。
该应用的结构如下:
创建一个socketIO客户端需要一个express.Server实例。 但是,我仍然需要Express Server的控制器中的socketIO客户端API(发出/广播更新)。 因此,套接字客户端由index.js导出为承诺,该承诺在解析后将用于设置用于express的控制器。
问题:在哪里连接组件的好方法是什么?
实际代码: https : //github.com/vsr4493/chatbox
在Node.js生态系统中,没有构造项目组件的首选方法,尤其是对于不同的业务案例。
我已经实现了一个类似的Web应用程序,该应用程序在快速控制器中需要socket.io
实例,并且有一个相同的问题:“我应该如何在控制器中访问socket
对象?”。
我所做的就是用套接字事件替换了Express控制器。 因此,您的代码库可以变成以下内容:
io.on('connection', function(socket){
socket.on('join', function(user) {
userStore.join(user)
emitOnlineCount()
})
function emitOnlineCount() {
io.sockets.emit("onlines", userStore.getUsers().length)
}
})
您可以随时保持代码的清洁和简单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.