我有一个节点应用程序开始变大,并且会出现一些关于如何正确执行此操作的问题。
我的应用程序结构如下:
当我想向应用添加websockets时,我的主要问题出现了。所以我通过像所有例子一样来实现它:
var server = require('http').createServer(app);
var io = require('socket.io')(server);
但是,如果我想要例如响应“routes / api.js”中的发布请求的函数向所有客户端发送消息,我不知道该怎么做。
我想在我想要使用它的所有文件中都不能要求socket.io,因为它需要服务器变量。我也理解应该不惜一切代价避免全局变量。
是扩展所有函数以接受额外参数并将io变量发送给每个需要它的人的最佳解决方案吗?
或者我错过了一些必要的东西?