java require是什么?讓我們一起來了解一下吧!
Java require是CommonJS格式的核心,模塊通過它來加載。Node.js 的模塊倉庫?npmjs.com?,現(xiàn)在已經(jīng)存放了15萬個(gè)模塊,其中絕大部分都是 CommonJS 格式。
模塊的加載順序例子:require('find')
1、node會(huì)先查找find模塊是否是內(nèi)置模塊(nodejs內(nèi)置的模塊有fs、http等),找不到則進(jìn)行下一步
2、從當(dāng)前目錄向外尋找node_moludes查找是否有find.js文件,找不到進(jìn)行下一步;
3、在node_moludes中找find文件夾,尋找index.js文件;
4、沒有index.js文件,則去package.json中查找main字段,該字段對(duì)應(yīng)于一個(gè)入口路徑;
5、以上都找不到,報(bào)錯(cuò)。
加載文件例子:require('./find')
1、node會(huì)先找當(dāng)前目錄下的find.js文件;
2、進(jìn)而尋找find.json文件;
3、尋找當(dāng)前目錄下的find文件夾的index.js
4、沒有index.js文件,則去package.json中查找main字段,該字段對(duì)應(yīng)于一個(gè)入口路徑;
5、以上都找不到,報(bào)錯(cuò)。
Require的用法:
當(dāng) Node 遇到 require(X) 時(shí),按下面的順序處理。
1.如果 X 是內(nèi)置模塊(比如 require('http'))? a. 返回該模塊。? b. 不再繼續(xù)執(zhí)行。
2.如果 X 以 "./" 或者 "/" 或者 "../" 開頭? a. 根據(jù) X 所在的父模塊,確定 X 的絕對(duì)路徑。? b. 將 X 當(dāng)成文件,依次查找下面文件,只要其中有一個(gè)存在,就返回該文件,不再繼續(xù)執(zhí)行。
X X.js X.json X.node
c. 將 X 當(dāng)成目錄,依次查找下面文件,只要其中有一個(gè)存在,就返回該文件,不再繼續(xù)執(zhí)行。
X/package.json(main字段) X/index.js X/index.json X/index.node
3.如果 X 不帶路徑? a. 根據(jù) X 所在的父模塊,確定 X 可能的安裝目錄。? b. 依次在每個(gè)目錄中,將 X 當(dāng)成文件名或目錄名加載。
4.?拋出 "not found"
以上就是小編今天的分享了,希望可以幫助到大家。