本文內容來源於stackoverflow上的一個問答帖,文章發行者是一名Node.js的初學者,他寫道:
我準備學習Node.js,是否有一些好的入門資源?或者好的教程、部落格、書籍等?
當然,Node.js官方網站和WIKI中提供了非常不錯的資源,初學者可以從這裡開始。另外,藉助第三方社區、部落格、書籍,可以加快學習的進度。
熱心的網友在回複中給出了非常不錯的建議,本文將其整理如下。
教程:
- Node.js guide
- Node tuts
- NodeCloud
視頻:
- Introduction to Node.js with Ryan Dahl
- Node.js: Asynchronous Purity Leads to Faster Development
- Parallel Programming with Node.js
- Server-side JavaScript with Node, Connect & Express
- Node.js Camp
書籍:
- The Node Beginner Book
- Mastering Node.js
- Up and Running with Node.js
- Node.js in Action
部落格:
- Ryan Dahl's Node blog
- How To Node
- DailyJS
- Nodejitsu blog
播客:
- NodeUp
- Minute with node.js
JavaScript 資源:
- Crockford's videos(強烈推薦)
- Essential JavaScript Design Patterns For Beginners
- JavaScript garden
- JavaScript Patterns (書籍)
- JavaScript: The Good Parts (書籍)
Node 模組:
- Wiki List on Github/Joyent/Node
- Search for registered node.js modules
也有網友給出了一些學習Node.js的建議:
首先,學習Node.js的核心概念:
- 你需要瞭解Node建議的非同步代碼設計風格
- 非同步不等於並發。瞭解Node的事件迴圈!
- Node使用CommonJS風格的require()用於代碼載入,它可能與你想使用方式有所不同
- 熟悉Node的標準庫。
然後,你需要看看社區提供的資源,並瞭解Node包管理的“黃金標準”是NPM(Node Package Manager):
- 這是一個命令列工具,用於管理項目的依賴。
- 確保你瞭解在你的項目中Node和NPM如何通過node_modules檔案夾和package.json進行互動。
最後,你需要知道一些針對各種不同任務的比較流行的包:
對每個項目都有用的工具:
- Underscore:包含幾乎所有你需要用到的核心實用方法。
- CoffeeScript:使得JavaScript更愜意,同時也減少了你的麻煩。
單元測試:
- Vows:一個實現非同步測試的非常妙的工具
- Expresso:一個傳統的單元測試架構。
- node-unit:另一種相對傳統的單元測試架構。
Web架構:
- Express:目前最流行的架構。
- Tower:基於Express的抽象實現,目標是成為另一個Rails。
- Geddy:另一個好用的web架構。
Web架構工具:
- Jade:Node世界中的HAML/Slim
- EJS:一個傳統的範本語言。
- Underscore's template method:Underscore的模板方法
網路工具:
- Connect:Node世界中的Rack或WSGI。
- Request:一個非常受歡迎的HTTP請求庫。
- socket.io:構建WebSocket伺服器更加得心應手。
命令列互動:
- Optimist:使得參數解析工作變得快樂。
- Commander:另一種流行的參數解析器。
- Colors:漂亮地輸出你的CLI。