真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nodejs開發(fā)中常用的模塊有哪些

這篇文章主要介紹Nodejs開發(fā)中常用的模塊有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有10年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),近千家客戶的共同信賴。提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、網(wǎng)站定制、買友情鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)

MVC框架 -Express

Express 是輕量靈活的Nodejs Web應(yīng)用框架,它可以快速地搭建網(wǎng)站。Express框架建立在Nodejs內(nèi)置的Http模塊上,并對(duì)Http模塊再包裝,從而實(shí)際Web請(qǐng)求處理的 功能。它支持多種前端模板,如Jade, EJS等。它是T.J大神的作品,不過已經(jīng)交由其它團(tuán)隊(duì)維護(hù)了。【相關(guān)推薦:《nodejs 教程》】

Koa是T.J大神的另外一個(gè)作品,號(hào)稱下一 代NodeJS web框架。使用 koa 編寫 web 應(yīng)用,通過組合不同的 generator,可以免除重復(fù)繁瑣的回調(diào)函數(shù)嵌套,并極大地提升常用錯(cuò)誤處理效率。Koa 不在內(nèi)核方法中綁定任何中間件,它僅僅提供了一個(gè)輕量?jī)?yōu)雅的函數(shù)庫(kù),使得編寫 Web 應(yīng)用變得得心應(yīng)手。需要注意的是:koa 依賴支持 generator 的 Node 環(huán)境,準(zhǔn)確來(lái)說,是 node >= 0.11.9 的環(huán)境。安裝完成后,應(yīng)確保使用 $ node app.js --harmony 或(--harmony-generators) 即,harmony 模式運(yùn)行程序。個(gè)人覺得如果是正式產(chǎn)品中還是用Express比較靠譜。

Rest開發(fā) -Restify

restify 是一個(gè)基于Nodejs的REST應(yīng)用框架,支持服務(wù)器端和客戶端。restify比起express更專注于REST服務(wù),去掉了express中的 template, render等功能,同時(shí)強(qiáng)化了REST協(xié)議使用,版本化支持,HTTP的異常處理。

hapi是一個(gè)用來(lái)構(gòu)建基于 Node.js 的應(yīng)用和服務(wù)的富框架,使得開發(fā)者把重點(diǎn)放在便攜可重用的應(yīng)用邏輯而不是構(gòu)建架構(gòu)。內(nèi)建輸入驗(yàn)證、緩存、認(rèn)證和其他 Web 應(yīng)用開發(fā)常用的功能,用來(lái)開發(fā)rest代碼也是一個(gè)不錯(cuò)的選擇。

前端模板 -EJS

EJS是一個(gè)功能強(qiáng)大又比較容易使用的前端模板,Express對(duì)EJS支持比較好,它的語(yǔ)法比較接近前端開發(fā)人員的使用方式。另外名氣比較大的前端模板是Jade,它和Express是同一個(gè)作者開發(fā)的,Express默認(rèn)用的就是Jade模板,但是它的語(yǔ)法更接近后端語(yǔ)言的語(yǔ)法,前端開發(fā)人員很多時(shí)候難以適應(yīng),但是它的功能確實(shí)非常強(qiáng)大。

數(shù)據(jù)庫(kù)驅(qū)動(dòng) -Mongoose

MongoDB和NodeJS應(yīng)該是最佳搭檔了,而Mongoose是MongoDB的對(duì)象模型工具,通過Mongoose框架,可以進(jìn)行非常方便的訪問MongoDB的操作。當(dāng)然如果你對(duì)性能要求非常高的話,也可以考慮使用mongodb,它功能相對(duì)較少,比較底層一些,其實(shí)Mongoose就是基于它構(gòu)建的。

其它:redis,MySQL。

Web Socket -Socket.IO

NodeJS的一個(gè)主要優(yōu)點(diǎn)是高并發(fā),因此NodeJS是Web Socket服務(wù)器的理想選擇,而Socket.IO則Socket模塊的不二選擇,可以用于構(gòu)建聊天室、客服系統(tǒng)等。Socket.IO不僅提供了服務(wù) 器端代碼,還提供了前端JS代碼,可以非常方便的進(jìn)行Web Socket開發(fā),同時(shí)它兼容那些不支持Web Socket的瀏覽器。

日志管理 -Log4js

類似于JAVA中的log4j,具有coloured console logging、可以設(shè)置輸出等級(jí)等功能,簡(jiǎn)單易用,如果沒有復(fù)雜需求足夠使用了。winston是一個(gè)功能更強(qiáng)大也更復(fù)雜的日志模塊,人氣比較高,對(duì)功能有追求的可以看看這個(gè)模塊。

HTTP調(diào)用Request

可以理解為一個(gè)簡(jiǎn)化的CURL模塊,建立各種HTTP請(qǐng)求,支持授權(quán)驗(yàn)證,其實(shí)功能還是非常多的,基本滿足絕大部分需求。目前在NPM模塊排行前幾名。

異步流程控制 -Async

NodeJS中大量的異步callback嵌套估計(jì)讓很多人頭疼,尤其是多個(gè)異步函數(shù)要求一定的調(diào)用順序時(shí)更是讓代碼失控,Async可以非常好的解決這些問題,它可以使異步流程同步化。Q是另外一種非常不錯(cuò)的選擇,它是實(shí)現(xiàn)了promises接口。

部署 -forever

forever可以看做是一個(gè)nodejs的守護(hù)進(jìn)程,能夠啟動(dòng),停止,重啟我們的app應(yīng)用,運(yùn)行穩(wěn)定,支持高并發(fā),啟動(dòng)/停止命令簡(jiǎn)單,支持熱部署,宕機(jī)重啟,監(jiān)控界面和日志,集群環(huán)境。pm2是一個(gè)帶有負(fù)載均衡功能的Node應(yīng)用的進(jìn)程管理器。當(dāng)你要把你的獨(dú)立代碼利用全部的服務(wù)器上的所有CPU,并保證進(jìn)程永遠(yuǎn)都活著,0秒的重載。

如果你想要從操作系統(tǒng)的層次來(lái)解決NodeJS服務(wù)器管理問題,可以參考:Linux系統(tǒng)服務(wù)upstart

當(dāng)然開發(fā)時(shí)可以使用supervisor啟動(dòng)服務(wù),它能夠監(jiān)控文件,當(dāng)有文件更新時(shí)自動(dòng)重啟服務(wù),其實(shí)Forever也有這個(gè)功能。

項(xiàng)目管理

grunt是一個(gè)自動(dòng)化的構(gòu)建工具,對(duì)于 需要反復(fù)重復(fù)的任務(wù),例如壓縮(minification)、編譯、單元測(cè)試、linting等,自動(dòng)化工具可以減輕你的勞動(dòng),簡(jiǎn)化你的工作。當(dāng)你正確配 置好了任務(wù),任務(wù)運(yùn)行器就會(huì)自動(dòng)幫你或你的小組完成大部分無(wú)聊的工作。并且它有大量的插件可以使用。我主要用它作前端的自動(dòng)化處理工作。

bower是twitter的又一個(gè)開源項(xiàng)目,使用nodejs開發(fā),用于web包管理。作為一個(gè)js依賴管理的工具,提供一種理想包管理方式,借助了npm的一些思想,為我們提供一個(gè)舒服的開發(fā)環(huán)境。

yeoman是Google的團(tuán)隊(duì)和外部貢獻(xiàn) 者團(tuán)隊(duì)合作開發(fā)的,他的目標(biāo)是通過Grunt(一個(gè)用于開發(fā)任務(wù)自動(dòng)化的命令行工具)和Bower(一個(gè)HTML、CSS、Javascript和圖片等 前端資源的包管理器)的包裝為開發(fā)者創(chuàng)建一個(gè)易用的工作流。Yeoman的目的不僅是要為新項(xiàng)目建立工作流,同時(shí)還是為了解決前端開發(fā)所面臨的諸多嚴(yán)重問 題,例如零散的依賴關(guān)系。

定時(shí)任務(wù) -Cron

cron是一個(gè)小巧的定時(shí)任務(wù)管理模塊,可以滿足我們絕大部分需求,它支持標(biāo)準(zhǔn)的cron patterns,熟悉linux cron tab的語(yǔ)法就可以很容易上手。

另外一個(gè)名氣比較大且功能比較強(qiáng)大的定時(shí)模塊是Later,對(duì)于功能要求比較高的可用用它,later的缺點(diǎn)是有點(diǎn)復(fù)雜,不像cron只要拿來(lái)就會(huì)用了。

工具包

underscore是一個(gè)JS工具庫(kù),主要提供了對(duì)數(shù)組,對(duì)象,函數(shù)等一些基礎(chǔ)工具函數(shù),可以同時(shí)在瀏覽器和NodeJS環(huán)境中運(yùn)行。建議在每個(gè)項(xiàng)目中使用。

moment是一個(gè)日期工具庫(kù),主要提供了對(duì)日期的解析,驗(yàn)證,操作和格式化等,如果需要對(duì)日期作較多的操作或比較復(fù)雜的操作,則它是一個(gè)不錯(cuò)的選擇,畢竟JS自帶的Date功能太弱了。

Connect是一系列的中間件的集合,包括日志,session, cookie, body parser等,它做了大量HTTP相關(guān)的基礎(chǔ)性的工作,Express框架就依賴它進(jìn)行工作的。

單元測(cè)試

Mocha,Karma,Jasmine。

以上是“Nodejs開發(fā)中常用的模塊有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞標(biāo)題:Nodejs開發(fā)中常用的模塊有哪些
標(biāo)題來(lái)源:http://weahome.cn/article/jspces.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部