我克隆了Express.js repo,其中包含一个示例文件夹,其中包含Express.js不同的用例。我打开了Hello World示例,代码从以下几行开始

var express = require('../../');

我了解该文件中的其余代码,但是上面的代码行了吗?我知道require函数用于在您的项目中包括一个JS模块,并且应该将模块名称作为参数传递给require()函数,但是在上述声明的情况下,我们正在传递目录,它的作用是做?

最佳答案

您正在传递的index.js文件位于当前文件夹之后的两个文件夹中。
例:
javascript - 如果将目录位置传递给Node.js require函数会怎样?-LMLPHP
因此,如果您在yourFile.js上有此标签

var something = require('../../');
您正在引用index.js
如果执行以下操作,则完全相同:
var something = require('../../index');
并且两者与此完全相同(使用.js,在这种情况下是不必要的)
var something = require('../../index.js');
发生这种情况是因为index.js是默认名称。
您可以阅读更多at nodejs.org,但此处引用了重要的部分:

07-24 09:51
查看更多