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