無標(biāo)題文章

node模塊與包管理

在Node中,使用的是Commonjs模塊標(biāo)準(zhǔn),commonjs模塊系統(tǒng)是文件之間共享對(duì)象或函數(shù)的唯一方式肉微。注意耍目,node中沒有全局變量,全局命名空間的概念廓潜,你要用什么模塊,直接require()過來,然后將這個(gè)模塊對(duì)象復(fù)制給任意的一個(gè)局部變量啊奄。

關(guān)于node中的模塊,需要理解它的模塊的種類雹仿,加載的方式和系統(tǒng)加載模塊的優(yōu)先級(jí)情況增热。

模塊種類

核心模塊:核心模塊定義在lib目錄下,這些模塊是被編譯成二進(jìn)制的胧辽,如console模塊峻仇,URL,path模塊等邑商,另外摄咆,node總是先加載核心模塊。只能通過模塊名引用人断,而不能通過文件路徑引用

文件模塊:可通過絕對(duì)路徑或者相對(duì)路徑從文件系統(tǒng)中加載非核心模塊

node_modules文件夾模塊:node會(huì)在指定的文件夾下查找模塊吭从,并假定該文件夾是一個(gè)包,并查找包定義恶迈,包定義包含在package.json的文件中涩金,如果沒有package.json那么包的入口點(diǎn)會(huì)假定為index.js.

注意:如果require()方法中的模塊名不是一個(gè)本地模塊,也沒有以'/','../',或者是'./'這樣的相對(duì)路徑開頭暇仲,那么node會(huì)從當(dāng)前模塊的父目錄開始步做,嘗試在node_modules文件夾里加載相應(yīng)模塊,沒找到的話會(huì)移動(dòng)到上一級(jí)目錄奈附,直到頂層目錄全度,如位于/home/king/westorm/projects/cp2/foo.js的文件調(diào)用了require('circle.js'),依次查找的位置為:

/home/king/westorm/projects/ch2/node_modules/foo.js

/home/king/westorm//projects/node_modules/foo.js

/home/king/westorm/node_modules/foo.js

/home/node_modules/foo.js

/node_modules/foo.js

緩存模塊:模塊首次加載時(shí)會(huì)被緩存起來

系統(tǒng)加載模塊的優(yōu)先級(jí)

如下圖:

模塊的循環(huán)調(diào)用問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市斥滤,隨后出現(xiàn)的幾起案子将鸵,更是在濱河造成了極大的恐慌,老刑警劉巖佑颇,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顶掉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡挑胸,警方通過查閱死者的電腦和手機(jī)一喘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凸克,你說我怎么就攤上這事议蟆。” “怎么了萎战?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵咐容,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蚂维,道長(zhǎng)戳粒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任虫啥,我火速辦了婚禮蔚约,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘涂籽。我一直安慰自己苹祟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布评雌。 她就那樣靜靜地躺著树枫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪景东。 梳的紋絲不亂的頭發(fā)上砂轻,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音斤吐,去河邊找鬼搔涝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛和措,可吹牛的內(nèi)容都是我干的庄呈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼臼婆,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了幌绍?” 一聲冷哼從身側(cè)響起颁褂,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎傀广,沒想到半個(gè)月后颁独,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伪冰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年誓酒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡靠柑,死狀恐怖寨辩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情歼冰,我是刑警寧澤靡狞,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站隔嫡,受9級(jí)特大地震影響甸怕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腮恩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一梢杭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秸滴,春花似錦武契、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至内颗,卻和暖如春钧排,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背均澳。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工恨溜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人找前。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓糟袁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親躺盛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子项戴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 模塊 Node 有簡(jiǎn)單的模塊加載系統(tǒng)。在 Node 里槽惫,文件和模塊是一一對(duì)應(yīng)的周叮。下面例子里,foo.js加載同一個(gè)...
    保川閱讀 598評(píng)論 0 0
  • # MVC ?框架的所有代碼結(jié)構(gòu)整合都是采用MVC的基礎(chǔ)架構(gòu)界斜,這也是蘋果iOS系統(tǒng)的基本架構(gòu)仿耽。Controller...
    keldonwang閱讀 316評(píng)論 0 0
  • 婚后多年,一直陪著公婆過年各薇,最初的時(shí)候是因?yàn)榱?xí)俗项贺,后來是因?yàn)榱?xí)慣。娘家也離得近,通常是小年夜在娘家吃年夜飯开缎,大年夜...
    丫丫笑語閱讀 289評(píng)論 0 1
  • 我很矛盾棕叫,我不知道是該感激還是什么。她心里充滿了懷疑啥箭,好像她所做的所有選擇都是貧空想象的一樣谍珊。 琳樂是個(gè)骨子里透著...
    米櫟兒閱讀 199評(píng)論 0 0