Node學(xué)習(xí)筆記1——初識NodeJs

什么是NodeJs

Node.js是一個(gè)基于ChromeV8引擎的Javascript運(yùn)行環(huán)境鳖眼。Node.js使用了一個(gè)事件驅(qū)動搞挣、非阻塞式IO的模型,使其輕量又高效。Node.js的包管理器npm以政,是全球最大的開源庫生態(tài)系統(tǒng)。簡單來說Node是js的一個(gè)虛擬機(jī)(平臺),能夠解析js代碼,使其運(yùn)行在各個(gè)平臺,這有點(diǎn)類似java的jvm伴找。同時(shí)Node平臺內(nèi)部提供了大量的工具庫,使js能與操作系統(tǒng)進(jìn)行交互,例如讀寫文件盈蛮。

NodeJs的誕生歷程

2009年3月,Ryan Dahl在博客宣布創(chuàng)建

2009年5月技矮,Ryan Dahl在GitHub中開源了最初版本抖誉,同年11月的JSConf就安排了Node講座

2010年底,Ryan Dahl加入Joyent全職負(fù)責(zé)Node的發(fā)展

2011年7月衰倦,在微軟的支持下登陸Windows平臺

2012年1月底袒炉,Ryan Dahl將掌門人身份交給NPM的作者lssac Z.Schlueter

2013年7月,發(fā)布穩(wěn)定版v0.10.13

隨后樊零,Node的發(fā)布計(jì)劃主要集中在性能上面我磁,由V0.14后正式發(fā)布了V1.0版本

Nodejs的特點(diǎn)

異步I/O

單線程

事件與回調(diào)函數(shù)

跨平臺

NodeJs結(jié)構(gòu)

從上面這張圖來看,NodeJS的結(jié)構(gòu)分為3層:

Node standard Libarary(Node.js標(biāo)準(zhǔn)庫),源碼在lib目錄下,是一個(gè)用javascript編寫的庫,里面包含了http,fs,events,buffer等Nodejs提供的核心模塊,

javascript能夠通過Api直接去調(diào)用這些模塊,例如:let fs = require('fs')。

第二層的Node bindings是js與底層溝通的一座橋梁,使其能與底層相互溝通,bindings是一個(gè)又c++實(shí)現(xiàn),源碼在src/node.cc驻襟。

最后一層是node的最底層結(jié)構(gòu)

V8: Google開源的高性能JavaScript引擎,以C++實(shí)現(xiàn)夺艰。這也是集成在Chrome中的JS引擎V8將你寫的JavaScript

代碼編譯為機(jī)器碼然后執(zhí)行。

Libuv: 是一個(gè)用c語言實(shí)現(xiàn)的庫,它為Nodejs提供的跨平臺的操作,在其內(nèi)部提供了事件循環(huán)(Event Loop),線程池,異步I/O等功能沉衣。

C-ares:提供了異步處理DNS相關(guān)的能力郁副。

http_parser、OpenSSL豌习、zlib 等:提供包括http解析存谎、SSL安全協(xié)議、數(shù)據(jù)壓縮等其他的能力斑鸦。

NodeJs在web中的使用

這張圖是把Node作為一個(gè)服務(wù)器來處理所有用戶的接受和響應(yīng)

這張圖是把Node作為一個(gè)中間服務(wù)器來用,主要是進(jìn)行分發(fā)等工作,具體步驟是Node來接受客戶端傳來的信息,然后把事件交托給傳統(tǒng)java等服務(wù)器來處理,處理完后返回給node服務(wù)器,然后響應(yīng)給客戶端

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末愕贡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子巷屿,更是在濱河造成了極大的恐慌固以,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘱巾,死亡現(xiàn)場離奇詭異憨琳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)旬昭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門篙螟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人问拘,你說我怎么就攤上這事遍略【逅” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵绪杏,是天一觀的道長下愈。 經(jīng)常有香客問我,道長蕾久,這世上最難降的妖魔是什么势似? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮僧著,結(jié)果婚禮上履因,老公的妹妹穿的比我還像新娘。我一直安慰自己盹愚,他們只是感情好栅迄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著杯拐,像睡著了一般霞篡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上端逼,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天,我揣著相機(jī)與錄音污淋,去河邊找鬼顶滩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛寸爆,可吹牛的內(nèi)容都是我干的礁鲁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赁豆,長吁一口氣:“原來是場噩夢啊……” “哼仅醇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起魔种,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤析二,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后节预,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叶摄,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年安拟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛤吓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡糠赦,死狀恐怖会傲,靈堂內(nèi)的尸體忽然破棺而出锅棕,到底是詐尸還是另有隱情,我是刑警寧澤淌山,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布裸燎,位于F島的核電站,受9級特大地震影響艾岂,放射性物質(zhì)發(fā)生泄漏顺少。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一王浴、第九天 我趴在偏房一處隱蔽的房頂上張望脆炎。 院中可真熱鬧,春花似錦氓辣、人聲如沸秒裕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽几蜻。三九已至,卻和暖如春体斩,著一層夾襖步出監(jiān)牢的瞬間梭稚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工絮吵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弧烤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓蹬敲,卻偏偏與公主長得像暇昂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子伴嗡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

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

  • Node.js是目前非臣辈ǎ火熱的技術(shù),但是它的誕生經(jīng)歷卻很奇特瘪校。 眾所周知澄暮,在Netscape設(shè)計(jì)出JavaScri...
    w_zhuan閱讀 3,613評論 2 41
  • Node.js是目前非常火熱的技術(shù)渣淤,但是它的誕生經(jīng)歷卻很奇特赏寇。 眾所周知,在Netscape設(shè)計(jì)出JavaScri...
    Myselfyan閱讀 4,072評論 2 58
  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測試 ...
    KeKeMars閱讀 6,330評論 0 6
  • 上個(gè)世紀(jì)七十年代价认,在蘇北農(nóng)村嗅定,孩子多的人家,懶得給孩子起名字用踩,便會小二渠退、小三……排著叫忙迁。 阿四,...
    時(shí)光清淺阿蓮閱讀 534評論 2 9
  • 事件:別人對我先付出了愛碎乃,向我示好或者送禮物等姊扔! 感受:尷尬,麻木梅誓,害羞恰梢,評判,無語 限制性信念:我不配得到別人的...
    竺子閱讀 156評論 0 0