译/如何开始node.js之旅

这篇文章来自stackoverflow的问答。虽然不是最高票回复,可是我我的比较认同此作法。所以翻译出来共享。javascript

首先,学习node的核心概念

  1. 理解node鼓励的异步代码风格java

    Understanding the node.js event loop -
    http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/node

  2. Node 使用CommonJS风格的require()模块加载方案,这和你习惯的方案可能有点不一样。web

熟悉NPM

这样,你能够去看看社区提供什么: 金牌标准的包管理npm,一个命令行工具,能够管理你的项目依赖关系,确保你了解npm和node如何和你的项目、node_module目录、package.json 作交互,npm同时也是一个包注册仓库express

针对不一样的任务,须要了解流行的包和工具

Underscore 内置了每个你须要的工具方法,Lo-Dash是一个Underscore的克隆,目标是更快更好定制,还有不多几个Underscore没有的方法。某些版本能够作为Underscore的替换。npm

CoffeeScript 可让JS变得容易忍耐一点(JS很臭吗?),同时让你离麻烦的事儿远点。警告:社区内一大票人对此是头疼的,要是写库的话,你应该考虑普通的JS,以便从更大的协做中获益。json

JSHint 一个代码检查工具,让你能够从查找二逼错误中脱离出来,建议找一个文本编辑器插件,自动运行它。后端

单元测试

Mocha是比较流行的框架
Vows对异步测试简直拿手的很。尽管有些陈旧
Expresso 一个更加传统的单元测试框架
node-unit 另一个相对传统的单元测试框架api

Web Frameworks:

Express.js 到目前为止最流行缓存

Koa 是一个新的框架,有express团队设计,目标是小一点,更强表达能力,更健壮的Web app基础框架和api。

sails.js 基于express,最流行的MVC框架。被设计来仿真熟悉的MVC模式,就像ROR(Ruby on rails),可是支持现代app需求:可伸缩的数据api,面向服务的架构

Meteor 整合了jQuery,Handlebars,Node.js,WebSocket, MongoDB, and DDP ,在不成为ROR的克隆的基础上,提高了“惯例优于配置”的范式。

Tower (过期了) :在express.js 基础上的抽象,目标是成为ROR的克隆。

Geddy 另一个Web框架尝试

RailwayJS 是一个ROR激发的MVC框架(那个MVC不是ROR激发的呢?)

Sleek.js 基于Express.js。一个简单的web 框架.

Hapi 以配置为中心的框架,内建输入验证,缓存,认证的支持

Danf 一个全占(栈)的OOP框架,提供不少特征,以即可以生成一个可伸缩的,可维护的,可测试的,性能优化的应用,容许客户端和服务端代码以同一模式开发。

Loopback.io 强大的一个Node.js框架,用来建立API,易于连接到后端的数据源,有Angular.js SDK ,也提供iOS 、 Android的SDK

框架工具:

Jade 一个HAML工具包
EJS 更传统的模板语言,别忘了Underscore的模板方法
Connect 一个node.js世界的 WSGI
Request 很流行的HTTP请求库
socket.io 拿来构建WebSocket 服务器是很趁手的.
Optimist 玩同样的解析参数
Commander 另外一个比较流行的参数解析器
Colors 让命令行输出带颜色,更好看

javascript - How do I get started with Node.js - Stack Overflow - http://stackoverflow.com/questions/2353818/how-do-i-get-started-with-n...

相关文章
相关标签/搜索