First, learn the core concepts of Node.js:
Then, you‘re going to want to see what the community has to offer:
The gold standard for Node package management is NPM.
Finally, you‘re going to want to know what some of the more popular packages are for various tasks:
Useful Tools for Every Project:
-
Underscore contains just about every core
utility method you want.
-
CoffeeScript makes JavaScript considerably more bearable,
while also keeping you out of trouble!
-
Caveat: A large portion of the community frowns upon it. If you are writing a library, you should consider regular JavaScript, to benefit from wider collaboration.
Unit Testing:
-
Mocha is a popular test framework.
-
Vows is a fantastic take on asynchronous testing, albeit somewhat
stale.
-
Expresso is a more traditional unit testing
framework.
-
node-unit is another relatively traditional unit
testing framework.
Web Frameworks:
-
Express is by far the most popular framework.
-
Meteor bundles together jQuery, Handlebars, Node.js, websockets,
mongoDB, and DDP and promotes convention over configuration without being a Rails clone.
-
Tower is an abstraction of top of Express that aims to be a Rails
clone.
-
Geddy is another take on web frameworks.
-
RailwayJS is a Ruby-on-Rails inspired MVC web framework.
-
SailsJS is a realtime MVC web framework.
-
Sleek.js is a simple web framework, bulit upon express.js.
Web Framework Tools:
Networking:
-
Connect is the Rack or WSGI of the Node world.
-
Request is a very popular HTTP request library.
-
socket.io is handy for building WebSocket servers.
Command Line Interaction:
-
Optimist makes argument parsing a joy.
-
Commander is another popular argument parser.
-
Colors makes your CLI output pretty.