var io = require('../..')(server) 做啥?
Posted
技术标签:
【中文标题】var io = require(\'../..\')(server) 做啥?【英文标题】:what does var io = require('../..')(server) do?var io = require('../..')(server) 做什么? 【发布时间】:2014-08-31 08:50:58 【问题描述】:我已经在本地构建了项目https://github.com/Automattic/socket.io/tree/master/examples/chat,它运行良好。不过,最好能多了解一下套接字应用程序的工作原理。
在主启动脚本中,使用 require 引入的模块之一是
var io = require('../..')(server)
require('../..') 是做什么的?
谢谢!
【问题讨论】:
This question 有一些关于 require 的资源链接。 【参考方案1】:当一个目录的路径被赋予require
时,它会隐式地在该目录中寻找index.js
。
在这种情况下,它相当于
var socket = require("../../index.js");
var io = socket(server);
在提供的示例中,他们只是使用了一些速记并丢弃了调用 require
返回的中间值。
查看module.require docs 了解更多信息。
【讨论】:
我不明白为什么我们需要 index.js。我们在 index.js 里面。【参考方案2】:在这里,在您的代码中
要求('../..');
从路径中添加File,使用了SOCKET.IO,可以看到没有添加Socket.io模块。
此外,如果没有为文件或文件夹提供特定路径,Module require 将尝试加载 index.js 或 index.node。如果不存在这样的文件,则会报错。
【讨论】:
以上是关于var io = require('../..')(server) 做啥?的主要内容,如果未能解决你的问题,请参考以下文章
nodejs require 语句中的 const 与 var
require_once() [function.require]: 无法打开所需的 '/vars.inc' (include_path='.;C:\php5\pear')
有没有办法找到所有使用 var 和 require 的情况,并用 const 替换那些结果?
从'../components/App'导入应用程序有啥区别;和 var App = require('../components/App');?
PHP警告:require_once(/var/www/html/wp-config.php):无法打开流:第37行/var/www/html/wp-load.php中的权限被拒绝