欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Node.js有什么作用

這篇文章將為大家詳細講解有關(guān)Node.js有什么作用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

津南ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

一、歡迎進入Node.js世界

1.DIRT(data-intensive real-time)表示數(shù)據(jù)密集型實時程序。因為Node自身在I/O上非常輕量,它善于將數(shù)據(jù)從一個管道混排或代理到另一個管道上,這能在處理大量請求時持有很多開放的鏈接,并且只占用一小部分內(nèi)存。它的設(shè)計目標(biāo)是保證響應(yīng)能力。

二、構(gòu)建有多個房間的聊天室程序

1.事件發(fā)射器:是跟某種資源相關(guān)聯(lián)的,它能向這個資源發(fā)送消息,也能從這個資源接收消息。資源可以連接遠程服務(wù)器,或者更抽象的東西,比如游戲中的角色

三、Node編程基礎(chǔ)

A.Node功能的組織及重用

1.Node模塊允許你從被引入文件中選擇要暴露給程序的函數(shù)和變量。如果模塊返回的函數(shù)或變量不止一個,那它可以通過設(shè)定exports對象的屬性來指明它們。但如果模塊只返回一個函數(shù)或變量,則可以設(shè)定module.exports屬性

2.require以你要用的模塊路徑為參數(shù),以同步的方式尋找它,定位到這個模塊并加載文件中的內(nèi)容,是Node中少數(shù)幾個同步I/O操作之一,不要在I/O密集的地方使用

3.module.exports可以對外提供單個變量、函數(shù)或者對象,如果創(chuàng)建了一個既有exports又有module.exports的模塊,那它會返回module.exports,而exports會被忽略

B.異步編程技術(shù)

1.兩種響應(yīng)編輯管理方式:回調(diào)和事件監(jiān)聽

  • 回調(diào)通常用來定義一次性響應(yīng)的邏輯,它被當(dāng)做參數(shù)傳給異步函數(shù),描述了異步操作完成之后要做什么

  • 事件監(jiān)聽器,本質(zhì)上也是一個回調(diào),不同的是,它跟一個概念實體(事件)相關(guān)聯(lián)。

2.一個Node HTTP服務(wù)器實例就是一個事件發(fā)射器,一個可以繼承、能夠添加事件發(fā)射及處理能力的類(EventEmitter)

3.回調(diào)時盡早從函數(shù)中返回。Node中大多數(shù)內(nèi)置模塊在使用回調(diào)時都會帶有兩個參數(shù):一個是用來放可能會發(fā)生的錯誤,另一個是放結(jié)果的

4.事件發(fā)射器會觸發(fā)事件,并且在那些事件被觸發(fā)時能處理它們。

5.在創(chuàng)建異步程序時,你必須密切關(guān)注程序的執(zhí)行流程:事件輪詢的條件、程序變量,以及其他隨著程序邏輯執(zhí)行而發(fā)生變化的資源

C.異步邏輯的順序化

1.讓一組異步任務(wù)順序執(zhí)行的概念被稱為流程控制。分為:

  • 串行:需要一個接著一個做的任務(wù)

  • 并行:不需要一個接著一個做的任務(wù)

四、構(gòu)建Node Web程序

A.HTTP服務(wù)器的基礎(chǔ)知識

1.在結(jié)束響應(yīng)之前 ,你可以在請求的生命期內(nèi)運行任何你想運行的異步邏輯。如果你沒能結(jié)束響應(yīng),請求會掛起,直到客戶端超時或一直處于打開狀態(tài)

B.構(gòu)建RESTful Web服務(wù)

1.Buffer.byteLength(),字節(jié)長度,Content-Length應(yīng)該是字節(jié)長度

C.提供靜態(tài)文件服務(wù)

1.*.pipe()管道

五、存儲Node程序中的數(shù)據(jù)

A.無服務(wù)器的數(shù)據(jù)存儲

1.內(nèi)存存儲:存放少量經(jīng)常使用的數(shù)據(jù)

2.基于文件的存儲:用文件系統(tǒng)存放數(shù)據(jù),有并發(fā)問題

六、Connect

1.Connect中有一個掛載的概念,可以給中間件或整個程序定義一個路徑前綴

2.構(gòu)建中間件時,你應(yīng)該關(guān)注那些小型的、可配置的部分。構(gòu)建大量微小的、模塊化的、可重用的中間件組件來搭成你的程序。保持中間件的小型化和專注性有助于將復(fù)雜的程序邏輯分解 成更小的組成部分

七、Connect自帶的中間件

1.解析cookie、請求主體和查詢字符串的中間件:cookieParser()bodyParser()、limit()、query()

2.實現(xiàn)Web程序核心功能的中間件:logger()、favicon()、methodOverride()、host()、session()

3.會話對象在各個請求間會被串行化為JSON對象:不允許循環(huán)屬性,不能用函數(shù)對象,Date對象無法正確串行化等

4.處理Web程序安全的中間件:basicAuth()、csrf()、errorHandler()

5.提供靜態(tài)文件服務(wù)的中間件:static()、compress()、directory()

*大部分已經(jīng)不是自帶的了,參考:

https://github.com/senchalabs/connect

https://github.com/expressjs/basic-auth-connect

八、Express

1.Node中的__dirname用來確定當(dāng)前運行的文件所在的目錄

2.*express全局命令安裝:sudo npm install -g express-generator(4.x以后)

九、Express進階

1.Node是單線程的,沒有線程本地存儲。對于HTTP服務(wù)器而言,請求和響應(yīng)變量是唯一的上下文對象

十、測試Node程序

1.單元測試:

  • TDD:Mocha、nodeunit、assert模塊

  • BDD:Mocha、Vows、should.js

2.驗收測試也被稱為功能測試,它測試程序的輸出而不是邏輯,可以再提供一層防護,找出可能被單元測試漏掉的bug,包括Tobi、Soda

十一、Web程序模板

1.ejs:https://github.com/tj/ejs,nom install ejs

2.Hogan

3.jade

十二、部署Node程序并維持正常運行時間

1.讓Node保持運行,F(xiàn)orever工具:

  • sudo node install -g forever

  • forever start/stop server.js

2.Upstart工具,重啟崩潰程序,記錄日志等

  • sudo apt-get install upstart

  • sudo yum install upstart

  • sudo service xxxxx.conf (upstart配置文件)

3.Node增加了集群API,借助這個API程序可以在不同的同價格上同時運行多個“工人”,讓單個程序使用多核實現(xiàn)起來更容易

十三、超越Web服務(wù)器

1.由于Node的異步天性,它很適合用來執(zhí)行那些在同步環(huán)境中比較困難或效率低下的I/O密集型任務(wù)

2.Socket.IO允許你用服務(wù)器和客戶端之間的雙向通訊通道編寫實時的Web程序。在基于瀏覽器的游戲、聊天程序和流媒體應(yīng)用中非常流行

3.Buffer是Node給開發(fā)者準備的特殊數(shù)據(jù)類型,它像是一塊長度固定的原始二進制數(shù)據(jù)板坯,可以把緩沖區(qū)看做數(shù)組,只是它們的大小是固定的,并且只能存放數(shù)字0到255,能處理原始字節(jié),所以可以用它們實現(xiàn)任何底層的協(xié)議

4.全局的process對象,包含當(dāng)前進程的相關(guān)信息,比如傳給它的參數(shù)和當(dāng)前設(shè)定的環(huán)境變量,每個Node進程都有一個單例的全局process對象,由所有模塊共享訪問

5.fs模塊,包含高層的ReadStream和WriteStream等,大部分Node文檔都指向了對應(yīng)man頁面中的C函數(shù)解釋上(擴展模塊:fstream模塊,filed模塊)

6.繁衍外部進程:

  • cp.exec(),在回調(diào)中繁衍命令并緩沖結(jié)果的高層API

  • cp.spawn(),將單例命令繁衍進Child-Process對象中的底層API

  • cp.fork(),用內(nèi)置的IPC通道繁衍額外Node進程的特殊方法

7.解析命令行參數(shù):process.argv

關(guān)于“Node.js有什么作用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

當(dāng)前文章:Node.js有什么作用
路徑分享:http://aaarwkj.com/article10/ipdpgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、面包屑導(dǎo)航、外貿(mào)建站、自適應(yīng)網(wǎng)站云服務(wù)器、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
亚洲日本国产精品一区| 久久久久久国产综合精品| 欧美一区二区三区四区久久| 美女视频一区二区三区在线观看| 2018在线不卡爱视频| 人妻猛烈进入中文字幕| 日本中文字幕一区在线观看| 国产中文字幕自拍视频| 久久热精品视频这里有| 日韩精品一区二区三区四区在线视频| 亚洲综合一区二区精品久久| 亚洲狠狠爱一区二区三区| 精品人妻少妇一区二区三| 日韩精品一区二区毛片| 成人黄色动作片在线观看| 日韩一区二区三级在线| 亚洲国产成人不卡高清麻豆| 日本最新一区二区三区视频| 99热精品综合在线观看| 亚洲淫婷婷久久一区二区| 日韩人妻一区中文字幕| 精品国产亚洲av未满十八| 中文字幕乱码高清免费| 国产91极品尤物白丝美女| 国产亚洲欧美精品久久久久久| 日韩精品伦理中文字幕| 日韩在线电影二区三区| 国产国产乱老熟视频网站| 国产在线视频不卡福利片| 亚洲一二三无人区是什么| 精品国产一区=区三区乱码| 亚洲 欧美 日韩一区| 91在线直播观看高清| 日本视频免费一区二区| 成人av在线免费播放| 91大神午夜在线观看| 日韩在线不卡中文字幕 | 国内成人免费在线视频| 91久久精品凹凸一区二区| 精品三级一区二区三区| 久久亚洲一区二区三区乱码|