我已经在本地构建了项目https://github.com/Automattic/socket.io/tree/master/examples/chat并且运行良好。但是,最好多了解一下套接字应用程序的工作原理。
在主启动脚本中,使用 require 引入的模块之一是
var io = require('../..')(server)
require('../..') 是做什么的?
谢谢!
我已经在本地构建了项目https://github.com/Automattic/socket.io/tree/master/examples/chat并且运行良好。但是,最好多了解一下套接字应用程序的工作原理。
在主启动脚本中,使用 require 引入的模块之一是
var io = require('../..')(server)
require('../..') 是做什么的?
谢谢!
当一个目录的路径被指定给 时,它会隐式地在那个目录中require
寻找一个。index.js
在这种情况下,它相当于
var socket = require("../../index.js");
var io = socket(server);
在提供的示例中,他们只是使用了一些速记并丢弃了调用返回的中间值require
。
查看module.require 文档了解更多信息。
在这里,在您的代码中
要求('../..');
将从路径中添加文件,其中使用了 SOCKET.IO,您可以看到您没有添加 Socket.io 模块。
此外,如果没有为文件或文件夹提供特定路径,Module require 将尝试加载index.js或index.node。如果不存在这样的文件,那么它将给出错误。