推薦的入門教程:
《七天學會NodeJS》 https://github.com/nqdeng/7-days-nodejs
《Node.js 包教不包會》 https://github.com/alsotang/node-lessons
常用內置模塊:
fs 提供對文件的操作。http://nodejs.org/api/fs.html http://nodejs.org/api/stream.html
path 簡化路徑相關操作,並提升代碼可讀性。http://nodejs.org/api/path.html
http 提供兩種使用方式:http://nodejs.org/api/http.html
作為服務端使用時,創建一個HTTP服務器,監聽HTTP客戶端請求並返回響應。
作為客戶端使用時,發起一個HTTP客戶端請求,獲取服務端響應。
https 與 http 模塊極為類似,區別在於 https 模塊需要額外處理SSL證書。http://nodejs.org/api/https.html
url 解析URL、生成URL,以及拼接URL。http://nodejs.org/api/url.html
querystring 用於實現URL參數字符串與參數對象的互相轉換。http://nodejs.org/api/querystring.html
zlib 提供了數據壓縮和解壓的功能。http://nodejs.org/api/zlib.html
net 用於創建Socket服務器或Socket客戶端。http://nodejs.org/api/net.html
推薦使用的框架和包:npm install *** --save
express 是 Node.js 應用最廣泛的 web 框架,現在是 4.x 版本,它非常薄。跟 Rails 比起來,完全兩個極端。 http://expressjs.com/
utility 提供了很多常用且比較雜的輔助方法,如 utility.md5()。 https://github.com/node-modules/utility
superagent 是個 http 方面的庫,可以發起 get 或 post 請求。http://visionmedia.github.io/superagent/
cheerio 可以理解成一個 Node.js 版的 jquery,用來從網頁中以 css selector 取數據,使用方式跟 jquery 一樣。https://github.com/cheeriojs/cheerio
eventproxy 將串行等待變成並行等待,提升多異步協作場景下的執行效率,可用於控制並發數。https://github.com/JacksonTian/eventproxy
iconv-lite 轉換編碼,如GBK轉UTF8。https://github.com/ashtuchkin/iconv-lite
async 流程控制、並發控制。https://github.com/caolan/async
推薦使用的開發包:npm install *** --save-dev
supertest 是專門用來配合 express (准確來說是所有兼容 connect 的 web 框架)進行集成測試的。https://github.com/tj/supertest
mocha 測試框架 http://mochajs.org/
should 斷言庫 https://github.com/tj/should.js
chai 斷言庫 http://chaijs.com/
expect 斷言庫 https://github.com/LearnBoost/expect.js/
istanbul 測試率覆蓋工具 https://github.com/gotwarlost/istanbul
benchmark 基准測試,可用於測試相同功能函數的執行速度。 https://github.com/bestiejs/benchmark.js
推薦使用的開發工具:npm install *** -g
node-dev 調試時代碼改動后自動重啟加載服務 https://github.com/fgnass/node-dev
nodemon 調試時代碼改動后自動重啟加載服務 https://github.com/remy/nodemon