我一直在尋找通過一些實例的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