本文内容源于 stackoverflow 上的一个问答帖,帖子发布者是一名 Node.js 的初学者,他写道:
我准备学习 Node.js,是否有一些好的入门资源?或者好的教程、博客、书籍等?
当然,Node.js 官方网站和 WIKI 中提供了非常不错的资源,初学者可以从这里开始。另外,借助第三方社区、博客、书籍,可以加快学习的进度。
热心的网友在回复中给出了非常不错的建议,本文将其整理如下。
教程:
- Node.js guide
- Node tuts
- NodeCloud
视频:
- Introduction to Node.js with RyanDahl
- Node.js: Asynchronous Purity Leadsto Faster Development
- ParallelProgramming with Node.js
- Server-sideJavaScript with Node, Connect & Express
- Node.jsCamp
书籍:
- The NodeBeginner Book
- Mastering Node.js
- Up and Running withNode.js
- Node.jsin Action
博客:
- Ryan Dahl'sNode blog
- How To Node
- DailyJS
- Nodejitsublog
播客:
- NodeUp
- Minutewith node.js
JavaScript 资源:
- Crockford'svideos(强烈推荐)
- EssentialJavaScript Design Patterns For Beginners
- JavaScript garden
- JavaScript Patterns (书籍)
- JavaScript: The Good Parts(书籍)
Node 模块:
- Wiki List on Github/Joyent/Node
- Search forregistered 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'stemplate method:Underscore 的模板方法
网络工具:
- Connect:Node 世界中的 Rack 或 WSGI。
- Request:一个非常受欢迎的 HTTP 请求库。
- socket.io:构建 WebSocket 服务器更加得心应手。
命令行交互:
- Optimist:使得参数解析工作变得快乐。
- Commander:另一种流行的参数解析器。
- Colors:漂亮地输出你的 CLI。