Nodejs WEB開發常用庫和框架


我在Nodejs的體系里也算泡了很久了,的確非常喜歡javascript和Nodejs. 在我看來,用nodejs做web開發有以下幾個優點:

  • Javascript作為一個語法異常簡單的腳本語言,約束較少,開發效率比較高.
  • Nodejs在設計時就考慮了依賴管理,有一個成熟的npm機制,在使用過程中很少遇到版本問題.
  • Javascript的語法非常靈活,而且它的基於prototype的鏈式集成機制,obj[property]和obj.property的混用可以創造出很多變化.
  • 對於JSON的天然支持
  • 原生的異步編程機制和單線程的工作方式,因此不像同步模型需要鎖等機制
  • javascript可以讓前后端開發語言統一,現在不少框架把網絡通訊層進行了封裝.前后端的區別更加模糊.

特別是現在前端的邏輯越來越復雜,單頁面的web app程序越來越流行. 相信Nodejs會被更多的互聯網公司接受.
這篇文章簡單記錄下我經常用到的一些庫或者框架,僅供參考.

標准LIB

path

path庫最常用的就是path.join了,另外path.extname也經常能用到. path和require機制配合可以做模塊的動態加載等一些功能.

fs

fs是nodejs的文件管理模塊,常用的幾套api有:

  • readFile[Sync], writeFile[Sync]等用來讀取文件內容的.
  • lstat, stat和isDirectory, isFile等API結合來判斷文件/文件夾結構,目錄等
  • createReadStream, createWriteStream獲取讀寫流.

request

request庫用來發送Http請求,Nodejs的網絡lib庫建議還是仔細閱讀一下nodejs的官方文檔.

常用LIB

Q

因為Javascript的異步機制,使得寫出來的程序往往是一層一層的callback嵌套,代碼的可讀性和維護性都很差. 而Promise的出現使得我們可以更加直觀簡潔的去處理異步編程.

數據庫

mongoose

mongo數據庫在WEB編程里大行其道. 我喜歡用mongo的最重要原因就是sql數據庫太麻煩,需要嚴格的設計數據庫,然后所有操作都需要去拼接SQL. 而mongo的數據就是類json對象,非常適合快速開發.
mongoose是nodejs的一個mongo驅動,通過定義Schema和Model,mongoose可以幫開發者管理數據庫連接,數據寫入讀取等. 另外結合Schema和Model可以進一步直接封裝出Restful Service.

nedb

對於程序員,沒有最懶,只有更懶.畢竟Mongo數據庫還需要單獨建立,然后去連接,在快速開發時,我偶爾會使用nedb. 這是一個nosql版的sqlite, 數據庫直接以文件形式存儲,非常適合快速的原型開發.

WEB Server

express

express貌似成了nodejs web項目的基准了吧,貌似也有一些類似的框架,但是express是毫無疑問的主流.
express里目前我最常用到的就是基本的router,jade渲染機制,另外還有一些輔助庫.

passport

web最基本的功能就是用戶登錄, passport就是常用的用戶登錄庫,另外它還提供了與各個網頁的oauth對接功能.

formidable

express4已經集成了bodyparser等一些基本中間件. 不過formidable還是值得一用,專門對文件上傳進行了優化.

node-restify-mongoose

隨着業務邏輯很多轉移到前端,后端系統往往只作為一個data server.
node-restify-mongoose使開發者僅僅通過定義數據schema就可以搭建出restful service.

winston

winston是用來做log的, 通過定義transport以及log level,可以很方便的切換不同的log等級,以及log輸出方式(文件,屏幕等).

測試

mocha

karma


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM