我一直在寻找通过一些实例的NodeJS和我遇到了以下几点:NodeJS require('..')?
var module = require('..');
var module = require('../');
我明白了什么需要做的,但我不明白,当它写成这样它做什么。有人可以向我解释吗?
我一直在寻找通过一些实例的NodeJS和我遇到了以下几点:NodeJS require('..')?
var module = require('..');
var module = require('../');
我明白了什么需要做的,但我不明白,当它写成这样它做什么。有人可以向我解释吗?
这是https://nodejs.org/api/modules.html
需要(X)所定义的从模块在路径中的规则ÿ
- 如果X始于 './' 或“/ '或'../'
a。 LOAD_AS_FILE(Y + X)
b。 LOAD_AS_DIRECTORY(Y + X)
由于../
或..
不是一个文件,它将进入路径B,加载作为目录
LOAD_AS_DIRECTORY(X)
- 如果X/package.json是一个文件,
a。解析X/package.json,并查找“main”字段。 b。让M = X +(json主场)
c。 LOAD_AS_FILE(M)- 如果X/index.js是一个文件,请将X/index.js加载为JavaScript文本。 STOP
- 如果X/index.json是一个文件,则将X/index.json解析为JavaScript对象。 STOP
- 如果X/index.node是一个文件,请将X/index.node加载为二进制附件。 STOP
通过该规则,它将检查以该顺序
1)../package.json
2)../index.js
3)../index.json
4)../index.node
以下文件
如果你需要一个目录,require
将尝试从包括基于这些规则,目录中的一个模块:
如果X /的package.json是一个文件,
一个。解析X/package.json,并查找“main”字段。
b。让M = X +(json主场)
c。 LOAD_AS_FILE(M)
2.如果X/index.js是一个文件,请将X/index.js加载为JavaScript文本。 STOP
3.如果X/index.json是一个文件,则将X/index.json解析为JavaScript对象。STOP
4.如果X/index.node是一个文件,请将X/index.node加载为二进制附件。 STOP
最有可能你有一个看起来像这样的目录结构:
module/
index.js
src/
file-including.js
这将加载index.js
。你也可以把它写成require('../index.js')
甚至require('../index')
,它的功能是一样的。
你能给我提供github的例子吗? – slorenzo