node.js學(xué)習(xí)(7)——node.js的模塊化輸入輸出

上一節(jié)-node.js學(xué)習(xí)(6)—ajax提交數(shù)據(jù)練習(xí)

前幾節(jié)关噪,我們講了通過nodejs來模擬接口,前臺(tái)請(qǐng)求數(shù)據(jù)叶圃。本節(jié)我們開始講解node的模塊化宴抚。

1.自定義模塊

前面勒魔,我們講解了http、fs模塊菇曲,這些模塊都是node自己本身的模塊冠绢,那么我們自己怎么自定義模塊呢。


1.jpg

我們這里假設(shè)b.js是我們需要引入的模塊常潮。代碼如下:

var a=1弟胀;
var b=2;

我們?cè)赼.js中使用b;

var mod=require('b.js');
console.log(mod);

運(yùn)行代碼我們會(huì)發(fā)現(xiàn)報(bào)錯(cuò)了

Error: Cannot find module 'b.js'

奇怪孵户,我們明明已經(jīng)引入了∠舫現(xiàn)在,我們把代碼修改下:

var mod=require('./b.js');
console.log(mod) //{}

結(jié)果為空對(duì)象延届,但是沒有報(bào)錯(cuò)剪勿,說明模塊已經(jīng)引入贸诚。對(duì)比之前的代碼方庭,發(fā)現(xiàn)我們?cè)谝肽K只多添加了./。原因是

1.node.js中引入模塊酱固,如果不加./這類路徑械念,它默認(rèn)識(shí)別為自己的系統(tǒng)模塊(實(shí)際也可以不加,后面我們會(huì)講到)

但是為空對(duì)象运悲。這又是為什么龄减?因?yàn)槲覀儧]有在模塊b中沒有導(dǎo)出。我們修改b模塊為:

exports.a=1;
exports.b=2;

在a模塊中輸出mod班眯,結(jié)果為

console.log(mod) //{a:1,b:2}

所以

2.node.js中希停,如果需要使用其他模塊,需要使用exports導(dǎo)出所需要的內(nèi)容署隘。

上面我們只定義了a宠能,b兩個(gè)變量,使用了兩次exports磁餐,但是加入有很多需要多出的變量呢违崇,當(dāng)然又更簡(jiǎn)單的辦法。我們修改b.js的代碼如下

module.exports={
    a:1,
    b:2
}

結(jié)果同樣可以在a.js中獲得導(dǎo)出的a诊霹,b兩個(gè)變量羞延。

所以

3.node.js中,可以使用module.exports導(dǎo)出多個(gè)模塊脾还。

4.由于node.js中處理的就是js文件伴箩,所以我們?cè)谝肽K時(shí)候可以省略.js后綴洋满。

即上面的代碼可以改成

var mod=require('./b');

下一節(jié)-node.js學(xué)習(xí)(8)—npm介紹以及自定義模塊的發(fā)布

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末整陌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挤牛,更是在濱河造成了極大的恐慌泥张,老刑警劉巖呵恢,帶你破解...
    沈念sama閱讀 212,029評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異媚创,居然都是意外死亡渗钉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鳄橘,“玉大人声离,你說我怎么就攤上這事√绷” “怎么了术徊?”我有些...
    開封第一講書人閱讀 157,570評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)鲸湃。 經(jīng)常有香客問我赠涮,道長(zhǎng),這世上最難降的妖魔是什么暗挑? 我笑而不...
    開封第一講書人閱讀 56,535評(píng)論 1 284
  • 正文 為了忘掉前任笋除,我火速辦了婚禮,結(jié)果婚禮上炸裆,老公的妹妹穿的比我還像新娘垃它。我一直安慰自己,他們只是感情好烹看,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評(píng)論 6 386
  • 文/花漫 我一把揭開白布国拇。 她就那樣靜靜地躺著,像睡著了一般惯殊。 火紅的嫁衣襯著肌膚如雪酱吝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,850評(píng)論 1 290
  • 那天靠胜,我揣著相機(jī)與錄音掉瞳,去河邊找鬼。 笑死浪漠,一個(gè)胖子當(dāng)著我的面吹牛陕习,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播址愿,決...
    沈念sama閱讀 39,006評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼该镣,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了响谓?” 一聲冷哼從身側(cè)響起损合,我...
    開封第一講書人閱讀 37,747評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娘纷,沒想到半個(gè)月后嫁审,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,207評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赖晶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評(píng)論 2 327
  • 正文 我和宋清朗相戀三年律适,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辐烂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,683評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捂贿,死狀恐怖纠修,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情厂僧,我是刑警寧澤扣草,帶...
    沈念sama閱讀 34,342評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站颜屠,受9級(jí)特大地震影響辰妙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜汽纤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評(píng)論 3 315
  • 文/蒙蒙 一上岗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蕴坪,春花似錦、人聲如沸敬锐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽台夺。三九已至径玖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颤介,已是汗流浹背梳星。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滚朵,地道東北人冤灾。 一個(gè)月前我還...
    沈念sama閱讀 46,401評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辕近,于是被迫代替她去往敵國(guó)和親韵吨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評(píng)論 2 349