4

我已经在本地构建了项目https://github.com/Automattic/socket.io/tree/master/examples/chat并且运行良好。但是,最好多了解一下套接字应用程序的工作原理。

在主启动脚本中,使用 require 引入的模块之一是

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

require('../..') 是做什么的?

谢谢!

4

2 回答 2

8

当一个目录的路径被指定给 时,它会隐式地在那个目录中require寻找一个。index.js

在这种情况下,它相当于

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

在提供的示例中,他们只是使用了一些速记并丢弃了调用返回的中间值require

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

于 2014-07-10T05:03:33.147 回答
0

在这里,在您的代码中

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

将从路径中添加文件,其中使用了 SOCKET.IO,您可以看到您没有添加 Socket.io 模块。

此外,如果没有为文件或文件夹提供特定路径,Module require 将尝试加载index.jsindex.node。如果不存在这样的文件,那么它将给出错误。

于 2014-07-10T05:32:36.213 回答