var io = require('../ ..')(server)是做什么的?

我在本地构build了https://github.com/Automattic/socket.io/tree/master/examples/chat项目,效果很好。 但是,多了解一个套接字应用程序的工作原理是很好的。

在主启动脚本中,一个被拉入require的模块是

var io = require('../..')(server) 

需要什么('../ ..')呢?

谢谢!

当一个目录的path被require ,它会隐式地在那个目录下寻找一个index.js

在这种情况下,这相当于

 var socket = require("../../index.js"); var io = socket(server); 

在提供的示例中,他们只是使用一些简写,并将由调用返回的中间值丢弃为require

查看module.require文档了解更多信息。

在这里,在你的代码

要求('../..');

将添加文件forms的path,它已经使用SOCKET.IO,你可以看到你还没有添加Socket.io模块。

另外,如果没有特定的path给出文件或文件夹,Module require将尝试加载index.jsindex.node 。 如果没有这样的文件存在,那么它会给出错误。