将socket.io名称空间分隔为单独的文件

时间:2012-12-16 22:00:04

标签: node.js namespaces express socket.io

我写了两个相对较大的socket.io应用程序,一个用于玩游戏,另一个用于聊天,我将其分成两个命名空间。

我想现在将这些文件从我的主文件app.js移到某个命名空间目录中,并且只需要在我的快速应用程序中将它们留在所有功能中。

我将如何解决这个问题,或者是否有某种方法可以通过其他方式获得我想要做的事情?

1 个答案:

答案 0 :(得分:1)

要使用单独的文件,您需要使用node.js中的模块并使用require来加载它们。

模块具有特殊的结构和语法,以便能够调用模块函数并与之交互。

在此处阅读模块:http://nodejs.org/docs/latest/api/modules.html

如果您需要与模块内部的函数,对象和数据进行交互,那么重新构建应用程序的体系结构可能需要做很多工作。

在开发的最早阶段,在应用程序的架构和技术设计过程中,您必须注意这一点。

要使用相同的套接字,您必须在需要子模块的父模块中初始化它,并将套接字应用程序句柄传递给这些子节点,以便他们能够使用它。

制作它的最糟糕和直接的选择,绝对不是商业世界的选择,是加载js文件内容,只是加载eval()它。但请记住 - 这绝对不是推荐的,在商业世界中你永远不应该使用它。