CommonJS規(guī)范

概述

每個文件就是一個模塊阳仔,有自己的作用域飞袋。在一個文件里面定義的變量、函數(shù)寞缝、類派敷,都是私有的蛹批,對其他文件不可見撰洗。每個模塊內部,module變量代表當前模塊腐芍。這個變量是一個對象差导,它的exports屬性(即module.exports)是對外的接口。加載某個模塊猪勇,其實是加載該模塊的module.exports屬性设褐。

  • module.exports對外的接口.
  • require方法用于加載模塊。

Module對象

每個模塊內部泣刹,都有一個module對象助析,代表當前模塊。它有以下屬性椅您。

  • module.id 模塊的識別符外冀,通常是帶有絕對路徑的模塊文件名。
  • module.filename 模塊的文件名掀泳,帶有絕對路徑雪隧。
  • module.loaded 返回一個布爾值,表示模塊是否已經完成加載员舵。
  • module.parent 返回一個對象脑沿,表示調用該模塊的模塊。
  • module.children 返回一個數(shù)組固灵,表示該模塊要用到的其他模塊捅伤。
  • module.exports 表示模塊對外輸出的值。

require命令

require命令的基本功能是巫玻,讀入并執(zhí)行一個JavaScript文件丛忆,然后返回該模塊的exports對象。如果沒有發(fā)現(xiàn)指定模塊仍秤,會報錯熄诡。

  • 加載規(guī)則:后綴名默認為.js。
    如果參數(shù)字符串以“/”開頭诗力,則表示加載的是一個位于絕對路徑的模塊文件凰浮。
    如果參數(shù)字符串以“./”開頭,則表示加載的是一個位于相對路徑苇本。
    如果參數(shù)字符串不以“./“或”/“開頭袜茧,則表示加載的是一個默認提供的核心模塊(位于Node的系統(tǒng)安裝目錄中),或者一個位于各級node_modules目錄的已安裝模塊(全局安裝或局部安裝)瓣窄。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末笛厦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子俺夕,更是在濱河造成了極大的恐慌裳凸,老刑警劉巖贱鄙,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異姨谷,居然都是意外死亡逗宁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門梦湘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞎颗,“玉大人,你說我怎么就攤上這事践叠⊙早停” “怎么了嚼蚀?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵禁灼,是天一觀的道長。 經常有香客問我轿曙,道長弄捕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任导帝,我火速辦了婚禮守谓,結果婚禮上,老公的妹妹穿的比我還像新娘您单。我一直安慰自己斋荞,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布虐秦。 她就那樣靜靜地躺著平酿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悦陋。 梳的紋絲不亂的頭發(fā)上蜈彼,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音俺驶,去河邊找鬼幸逆。 笑死,一個胖子當著我的面吹牛暮现,可吹牛的內容都是我干的还绘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼栖袋,長吁一口氣:“原來是場噩夢啊……” “哼拍顷!你這毒婦竟也來了?” 一聲冷哼從身側響起栋荸,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤菇怀,失蹤者是張志新(化名)和其女友劉穎凭舶,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爱沟,經...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡帅霜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了呼伸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片身冀。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖括享,靈堂內的尸體忽然破棺而出搂根,到底是詐尸還是另有隱情,我是刑警寧澤铃辖,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布剩愧,位于F島的核電站,受9級特大地震影響娇斩,放射性物質發(fā)生泄漏仁卷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一犬第、第九天 我趴在偏房一處隱蔽的房頂上張望锦积。 院中可真熱鬧,春花似錦歉嗓、人聲如沸丰介。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哮幢。三九已至,卻和暖如春冠场,著一層夾襖步出監(jiān)牢的瞬間家浇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工碴裙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留钢悲,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓舔株,卻偏偏與公主長得像莺琳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子载慈,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容

  • 概念 1琳要、為什么要使用模塊化? 當代碼規(guī)模較大或進行團隊協(xié)作時秤茅,如果不實行模塊化稚补,有可能導致命名沖突----解決命...
    周花花啊閱讀 816評論 0 3
  • 一五垮、 為什么要使用模塊化乍惊? 解決命名沖突 解決依賴管理 提高代碼可讀性 代碼解耦,提高復用性 二、CMD放仗、AMD润绎、...
    Chy18閱讀 370評論 0 0
  • 模塊 Node 有簡單的模塊加載系統(tǒng)。在 Node 里匙监,文件和模塊是一一對應的凡橱。下面例子里,foo.js加載同一個...
    保川閱讀 596評論 0 0
  • 為什么要使用模塊化? 網頁隨著技術的發(fā)展也變的越來越復雜静秆,模塊化可以讓工作像流水線組裝一樣提高效率粮揉,開發(fā)過程中只要...
    沒夢想的咸魚丶閱讀 292評論 0 0
  • 問答 1.為什么要使用模塊化殊橙? 要使用模塊化辐宾,我們要知道什么是模塊化?首先一個模塊是為了實現(xiàn)特定功能的文件膨蛮,模塊化...
    GarenWang閱讀 1,529評論 1 1