我在这里发现了socket.io和聊天示例:https://github.com/rauchg/chat-example/blob/master/index.js
它们直接使用require('express')和require('socket.io')。
那么使用http://express-io.org/这样的require('express.io')有什么不同,有什么优势呢?
只是为了赢一行?我是认真的?或者有新工具的另一层?
发布于 2015-12-23 00:58:18
我一直在我的节点应用程序中使用express.io。我发现它的主要优点是您可以混合使用普通的express路由和套接字路由。
让我来解释一个真实的例子:
在我的应用程序中,我有一个带有Angular客户端的nodejs REST API。我的客户端需要显示一些实时通知,这些通知是由调用快速post请求的管理员创建的。
一开始,我在angular中设置了一个时间间隔,用于查询所有通知,每5秒运行一次。
对于少数几个客户端,它可以完美地工作,但当客户端增加时,我的服务器就会超载。每个客户端都在请求通知,尽管它们没有新的通知。所以我决定开始使用socket.io来发送实时通知。
如果我的管理员保存了新通知,服务器将通过套接字广播通知。
这里的问题是管理员在express中调用普通的POST请求,而我需要使用socket.io广播,所以我集成了express.io,我可以将普通的express请求重定向到socket.io方法以执行emit。
var express = require('express.io');
var app = express();
app.http().io()
app.post('/notificacion', function(req, res){
//I save the notification on my db and then ...
req.io.route('enviar');
});
app.io.route('enviar', function(req) {
app.io.room('personas').broadcast('alertasControlador',req.io.request.data.notificacion);
});发布于 2019-02-21 13:32:17
我最近,今天,查看了express.io,当我安装节点模块npm时报告:
添加了来自44个贡献者的55个包,并在32.816秒内审核了2606个包
发现25个漏洞(11个低,5个中等,9个高)
运行npm audit fix修复它们,或运行npm audit获取详细信息
npm审计修复修复了两个低漏洞。
当我删除express.io npm时,报告:
在8.976秒内删除了57个软件包,审核了2539个软件包
发现0个漏洞
因此,尽管我很想使用非常好的路由功能,但我认为在修复依赖关系之前,这并不适合生产。
https://stackoverflow.com/questions/32936497
复制相似问题