node.js模塊 --學(xué)習(xí)筆記

模塊

1.在Node.js中垄提,以模塊為單位劃分所有功能漩氨,并且提供了一個(gè)完整的模塊加載機(jī)制饭耳,這時(shí)的我們可以將應(yīng)用程序劃分為各個(gè)不同的部分
2.狹義的說膛腐,每一個(gè)JavaScript文件都是一個(gè)模塊;而多個(gè)JavaScript文件之間可以相互require鼎俘,他們共同實(shí)現(xiàn)了一個(gè)功能哲身,他們整體對(duì)外,又稱為一個(gè)廣義上的模塊
3.Node.js中贸伐,一個(gè)JavaScript文件中定義的變量律罢、函數(shù),都只在這個(gè)文件內(nèi)部有效棍丐。當(dāng)需要從此JS文件外部引用這些變量、函數(shù)時(shí)沧踏,必須使用exports對(duì)象進(jìn)行暴露歌逢。使用者要用require()命令引用這個(gè)JS文件。


1.一個(gè)JavaScript文件翘狱,可以向外exports無(wú)數(shù)個(gè)變量秘案、函數(shù)。但是require的時(shí)候潦匈,僅僅需要require這個(gè)JS文件一次阱高。使用的它的變量、函數(shù)的時(shí)候茬缩,用點(diǎn)語(yǔ)法即可
  • msg.js文件
/**
 * Created by ubuntu on 17-8-4.
 */
var msg ="你好赤惊,我是msg.js中的變量"

var data = {name:"小明",password:"456123"}

function info() {
    console.log(data.name+""+data.password)
}
//講文件暴露出去
exports.msg = msg;
exports.data = data;
exports.info = info;

js文件中,可以用exports暴露很多東西凰锡,比如函數(shù)未舟、變量。

  • index.js 文件
var msg = require("./test/msg.js");

console.log(msg.msg);
console.log(msg.data);
msg.info();

在使用者中掂为,只需要require 一次裕膀。
相當(dāng)于增加了頂層變量。所有的函數(shù)勇哗、變量都要從這個(gè)頂層變量走


2.可以將一個(gè)JavaScript文件中昼扛,描述一個(gè)類。用module.export = 構(gòu)造函數(shù)名的方式向外暴露一個(gè)類
  • people.js 文件
function People(name,age,password) {
    this.name = name;
    this.age = age;
    this.password = password;
}
People.prototype = {
    sayHello:function () {
        console.log(this.name+this.age+this.password);
    }
}

module.exports = People;
  • index.js文件
var People = require("./test/msg.js");

var onePeople = new People("小明","男","456788");
onePeople.sayHello();


3.兩種方式總結(jié):js文件和js文件之間有兩種合作的模式:

1) 某一個(gè)js文件中欲诺,提供了函數(shù)抄谐,供別人使用。 只需要暴露函數(shù)就行了瞧栗; exports.msg=msg;
2) 某一個(gè)js文件斯稳,描述了一個(gè)類。 module.exports = People;

如果在require命令中迹恐,這么寫:
var foo = require("foo.js"); //沒有寫./挣惰, 所以不是一個(gè)相對(duì)路徑。是一個(gè)特殊的路徑
那么Node.js將該文件視為node_modules目錄下的一個(gè)文件

npm

去npm社區(qū)搜索需求,然后點(diǎn)進(jìn)去憎茂,看api珍语。npm官網(wǎng)
如果要配置一個(gè)模塊npm install 模塊名字就可以安裝。
安裝的時(shí)候竖幔,要注意板乙,命令提示符的所在位置。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拳氢,一起剝皮案震驚了整個(gè)濱河市募逞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌馋评,老刑警劉巖放接,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異留特,居然都是意外死亡纠脾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門蜕青,熙熙樓的掌柜王于貴愁眉苦臉地迎上來苟蹈,“玉大人,你說我怎么就攤上這事右核』弁眩” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵贺喝,是天一觀的道長(zhǎng)磷瘤。 經(jīng)常有香客問我,道長(zhǎng)搜变,這世上最難降的妖魔是什么采缚? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮挠他,結(jié)果婚禮上扳抽,老公的妹妹穿的比我還像新娘。我一直安慰自己殖侵,他們只是感情好贸呢,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拢军,像睡著了一般楞陷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茉唉,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天固蛾,我揣著相機(jī)與錄音结执,去河邊找鬼。 笑死艾凯,一個(gè)胖子當(dāng)著我的面吹牛献幔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趾诗,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蜡感,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了恃泪?” 一聲冷哼從身側(cè)響起郑兴,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贝乎,沒想到半個(gè)月后杈笔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡糕非,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了球榆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朽肥。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖持钉,靈堂內(nèi)的尸體忽然破棺而出衡招,到底是詐尸還是另有隱情,我是刑警寧澤每强,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布始腾,位于F島的核電站,受9級(jí)特大地震影響空执,放射性物質(zhì)發(fā)生泄漏浪箭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一辨绊、第九天 我趴在偏房一處隱蔽的房頂上張望奶栖。 院中可真熱鬧,春花似錦门坷、人聲如沸宣鄙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)冻晤。三九已至,卻和暖如春绸吸,著一層夾襖步出監(jiān)牢的瞬間鼻弧,已是汗流浹背设江。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留温数,地道東北人绣硝。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像撑刺,于是被迫代替她去往敵國(guó)和親鹉胖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • Node.js是目前非彻话火熱的技術(shù)甫菠,但是它的誕生經(jīng)歷卻很奇特。 眾所周知冕屯,在Netscape設(shè)計(jì)出JavaScri...
    w_zhuan閱讀 3,607評(píng)論 2 41
  • 個(gè)人入門學(xué)習(xí)用筆記寂诱、不過多作為參考依據(jù)。如有錯(cuò)誤歡迎斧正 目錄 簡(jiǎn)書好像不支持錨點(diǎn)安聘、復(fù)制搜索(反正也是寫給我自己看...
    kirito_song閱讀 2,451評(píng)論 1 37
  • Node.js是目前非程等鳎火熱的技術(shù),但是它的誕生經(jīng)歷卻很奇特浴韭。 眾所周知丘喻,在Netscape設(shè)計(jì)出JavaScri...
    Myselfyan閱讀 4,064評(píng)論 2 58
  • 1 Node.js模塊的實(shí)現(xiàn) 之前在網(wǎng)上查閱了許多介紹Node.js的文章,可惜對(duì)于Node.js的模塊機(jī)制大都著...
    zlx_2017閱讀 1,221評(píng)論 0 1
  • 又到了開學(xué)季泉粉,愈長(zhǎng)大,假期流逝得仿佛愈快榴芳。 假期中已經(jīng)不再是心心念念的休息與娛樂嗡靡,而是充滿了充電、實(shí)習(xí)窟感、兼職讨彼,若是...
    喵弟閱讀 399評(píng)論 0 2