我写了两个相对较大的socket.io应用程序,一个用于玩游戏,另一个用于聊天,我将其分成两个命名空间。
我想现在将这些文件从我的主文件app.js
移到某个命名空间目录中,并且只需要在我的快速应用程序中将它们留在所有功能中。
我将如何解决这个问题,或者是否有某种方法可以通过其他方式获得我想要做的事情?
答案 0 :(得分:1)
要使用单独的文件,您需要使用node.js中的模块并使用require来加载它们。
模块具有特殊的结构和语法,以便能够调用模块函数并与之交互。
在此处阅读模块:http://nodejs.org/docs/latest/api/modules.html
如果您需要与模块内部的函数,对象和数据进行交互,那么重新构建应用程序的体系结构可能需要做很多工作。
在开发的最早阶段,在应用程序的架构和技术设计过程中,您必须注意这一点。
要使用相同的套接字,您必须在需要子模块的父模块中初始化它,并将套接字应用程序句柄传递给这些子节点,以便他们能够使用它。
制作它的最糟糕和直接的选择,绝对不是商业世界的选择,是加载js文件内容,只是加载eval()它。但请记住 - 这绝对不是推荐的,在商业世界中你永远不应该使用它。