我目前正在开发一个npm模块,应该用在更大的应用程序中。我的模块需要听一些socket.io事件,我不知道如何包括socket.ionpm模块中的Socket.io
我可以看到两个解决方案:
要么我包括socket.io在我的模块中,并配置所有我的事件监听。然后我出口它使主应用程序可以附加它的服务器
或者说,我让服务器配置的一切,让它通当它调用我的模块socket.io模块,和配置我的事件监听应用程序提供的事件。
第一种解决方案的优点是不会强制主应用程序在其依赖项中包含socket.io(如果不需要)。
第二个解决方案强制主应用程序在其依赖项中包含socket.io,但似乎是此方法的最佳解决方案。
您对此有何看法?我是否应该将socket.io包含在模块中,并让主应用程序将其附加到服务器上,还是让主应用程序允许我访问其socket.io模块?
太好了,谢谢。但是,如果应用程序需要使用socket.io本身,则不会有问题吗? – MagicMicky
你是否知道如果发生了什么 var io = require('socket.io')(app);被调用两次?这可能不是问题,但我不确定。 –
那么,我会认为这两个'require('socket.io')'是socket.io的两个不同的实例。但是我来自Java背景,可能不适用于JS类。 – MagicMicky