1262

Are there any good resources to get started with Node.JS? Any good tutorials, blogs or books?

Of course, I have visited its official website http://nodejs.org/, but I didn't think the documentation they have is a good starting point.

Mohammed H
  • 6,880
  • 16
  • 81
  • 127
Joneph O.
  • 6,887
  • 5
  • 20
  • 9
  • 8
    If and of you are wondering on how to build a website using node.js and you're coming from a php'ish background, I've asked how to do _that_ here http://stackoverflow.com/questions/11311672/building-a-website-using-node-js-best-practice . I feel that's something a lot of people miss. – Benjamin Gruenbaum Mar 08 '13 at 07:53

3 Answers3

4694

You can follow these tutorials to get started:

Tutorials

Developer Sites

Videos

Screencasts

Books

Courses

Blogs

Podcasts

JavaScript resources

Node.js Modules

Other

A-Tech
  • 806
  • 6
  • 22
yojimbo87
  • 65,684
  • 25
  • 123
  • 131
  • 21
    Are the books ordered by your value in them or randomly? Looking to purchase a good reference manual on nodeJS's basics. – David May 17 '11 at 15:11
  • 6
    @David: More or less randomly. First two are freely available and the last one is in preview mode. I would recommend to start with The Node Beginner. – yojimbo87 May 17 '11 at 15:18
  • 2
    The second book you list, Mastering Node.js, although its current content is indeed helpful, is just half finished. – Petr Vostrel Mar 09 '12 at 11:00
  • 129
    My book (Node up and running) is available for free here: http://ofps.oreilly.com/titles/9781449398583/ forever. It's also now an ebook and print. – sh1mmer May 20 '12 at 19:36
  • 57
    Though I'm sure it took a lot of effort to compile this list, it would actually have been a lot more helpful to get no more than 3 of the best places (in your opinion) – one eyed dev Nov 08 '12 at 06:58
  • "The node beginner" has unfortunately gone the way of the ... it's pay begging now (or I haven't discovered the "next" button). – ZenMaster Jun 20 '13 at 17:43
  • I don't recommend the nettuts tutorial. Their first benchmarked example isn't what you'd use node for. And listening for the `end` event in the `request` stream is unnecessary and will not work with the new streams in node version >= 0.9 – fent Sep 14 '13 at 01:11
  • I just published a tutorial on using Node.js to build a complete web application. Check it out at https://leanpub.com/webdevelopmentwithnodejs. – Andrew Patzer Oct 21 '13 at 19:39
  • Visit this website it will get you started on windows http://geekswithblogs.net/shaunxu/archive/2012/09/14/node.js-adventure---node.js-on-windows.aspx – broswilli Oct 23 '13 at 18:42
  • Check out [Beginning Web Development with Node.js](https://leanpub.com/webdevelopmentwithnodejs) for a simple walkthrough of building a complete web application with a database, security, form validation, Bootstrap themes, etc... – Andrew Patzer Nov 04 '13 at 19:47
  • 1
    Even it's not a tutorial - I would like to recommend for the beginners to try out the web-online environment https://c9.io/. It has beautiful IDE with debug mode with breakpoints, watches etc, you can develop/upload/download share your project and much more. It's not only NodeJS service, but I didn't try the rest so I can't recommend. NodeJS works just fine there and it's extremely comfortable! – Alexander Mar 04 '14 at 09:56
  • 15
    @sh1mmer: Dead link. This one works (same book): http://chimera.labs.oreilly.com/books/1234000001808/index.html – Nepoxx Dec 10 '14 at 15:38
  • At a major company my friend works for, "Node.js the Right Way" was the official read. I'd also recommend video tutorials on Lynda. Ya, it's $30, but it covered the tooling very well. Ensure you learn `npm` very thoroughly. It's powerful! – SilentSteel Jan 08 '15 at 09:14
  • 1
    For someone with no experience in JavaScript (but experience in other languages), what's the best book to learn Node.JS + Javascript? – Maria Ines Parnisari Feb 25 '15 at 02:13
  • I was struggling with this as well, as I couldn't translate a written article into workable code, (I was doing my best not to copy and paste), and I really wanted to learn the concept of Node before going too far in. I found a really great tutorial series on YouTube, I've added it to the Videos list, "Node.js Tutorials for Beginners". – David May 18 '15 at 19:38
  • Here is our get started guide for Node on AWS: https://boxfuse.com/getstarted/nodejs – Axel Fontaine Mar 17 '16 at 15:29
  • For anyone looking for a good understanding of how to build Node Add Ons I can recommend Scott Frees' book "C++ and Node Integration." It's not free but it is really, really helpful if you are trying to understand how C++ code and V8/Javascript interact. – HeadCode Jul 11 '16 at 03:03
  • Taking online classes is another way. https://www.linkedin.com/pulse/javascript-training-online-object-oriented-courses-mohit-gupta – user2555501 Aug 01 '16 at 08:19
  • These are tons of resources but there is no way to tell which is the best out of the lot. You many want to try Hackr to find out the best Node.js courses/tutorials curated and voted by programming community: https://hackr.io/tutorials/learn-node-js – Saurabh Hooda Oct 10 '16 at 13:49
  • I also came out with a Youtube Series on Node Basics: https://www.youtube.com/playlist?list=PL-4zzaVqc2aj8ZuO9j9kLJdSZnZc3SgSK – Robo Rick Nov 15 '16 at 01:21
  • @miparnisari the third link under tutorials, which is same as the first Book listed here - The Node Beginner Book is perfect to learn node.js without javascript knowledge. – Mohamed Iqzas Dec 07 '16 at 14:04
  • Link http://nicholasjohnson.com/courses/nodejs/book is broken (404). – Peter Mortensen Dec 17 '16 at 11:38
  • Best Node.js Frameworks: https://onaircode.com/best-node-js-frameworks/ – Pacific P. Regmi Aug 28 '17 at 10:19
  • Two more resource for getting started NodeJs: 1. https://onaircode.com/best-nodejs-getting-started-tutorials/ 2. https://onaircode.com/nodejs-tools-tutorials-resources/ – Pacific P. Regmi Sep 17 '17 at 10:43
  • w3school nodejs tutorial is the best for newbie. 2nd learn express from w3school. that get you to understand routing and lets you run the server. – Internial Oct 30 '17 at 06:07
  • The best place for beginner of node JS is https://www.w3schools.com/nodejs/nodejs_intro.asp – Ravish Kumar Jun 19 '18 at 13:06
  • Code tutorials are all over the place these days. If you really wanna learn you'll find lots of videos on youtube. – WMRamadan Aug 17 '19 at 19:52
  • @Internial Do you still think that? – Suraj Jain Jan 24 '20 at 04:39
  • is there a specific starter kit for node js with typescript ? – Houssem TRABELSI Dec 23 '21 at 17:04
  • First need to start with Javascript and then go for Node. – Hermenpreet Singh Sep 12 '22 at 16:41
1834

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.js 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.
  • Lo-Dash is a clone of Underscore that aims to be faster, more customizable, and has quite a few functions that underscore doesn't have. Certain versions of it can be used as drop-in replacements of underscore.
  • TypeScript makes JavaScript considerably more bearable, while also keeping you out of trouble!
  • JSHint is a code-checking tool that'll save you loads of time finding stupid errors. Find a plugin for your text editor that will automatically run it on your code.

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.
  • AVA is a new test runner with Babel built-in and runs tests concurrently.

Web Frameworks:

  • Express.js is by far the most popular framework.
  • Koa is a new web framework designed by the team behind Express.js, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.
  • sails.js the most popular MVC framework for Node.js, and is based on express. It is designed to emulate the familiar MVC pattern of frameworks like Ruby on Rails, but with support for the requirements of modern apps: data-driven APIs with a scalable, service-oriented architecture.
  • Meteor bundles together jQuery, Handlebars, Node.js, WebSocket, MongoDB, and DDP and promotes convention over configuration without being a Ruby on Rails clone.
  • Tower (deprecated) is an abstraction of a top of Express.js that aims to be a Ruby on Rails clone.
  • Geddy is another take on web frameworks.
  • RailwayJS is a Ruby on Rails inspired MVC web framework.
  • Sleek.js is a simple web framework, built upon Express.js.
  • Hapi is a configuration-centric framework with built-in support for input validation, caching, authentication, etc.
  • Trails is a modern web application framework. It builds on the pedigree of Rails and Grails to accelerate development by adhering to a straightforward, convention-based, API-driven design philosophy.

  • Danf is a full-stack OOP framework providing many features in order to produce a scalable, maintainable, testable and performant applications and allowing to code the same way on both the server (Node.js) and client (browser) sides.

  • Derbyjs is a reactive full-stack JavaScript framework. They are using patterns like reactive programming and isomorphic JavaScript for a long time.

  • Loopback.io is a powerful Node.js framework for creating APIs and easily connecting to backend data sources. It has an Angular.js SDK and provides SDKs for iOS and Android.

Web Framework Tools:

Networking:

  • Connect is the Rack or WSGI of the Node.js world.
  • Request is a very popular HTTP request library.
  • socket.io is handy for building WebSocket servers.

Command Line Interaction:

  • minimist just command line argument parsing.
  • Yargs is a powerful library for parsing command-line arguments.
  • Commander.js is a complete solution for building single-use command-line applications.
  • Vorpal.js is a framework for building mature, immersive command-line applications.
  • Chalk makes your CLI output pretty.

Code Generators:

  • Yeoman Scaffolding tool from the command-line.
  • Skaffolder Code generator with visual and command-line interface. It generates a customizable CRUD application starting from the database schema or an OpenAPI 3.0 YAML file.

Work with streams:

Luca Carducci
  • 173
  • 1
  • 9
Nevir
  • 7,951
  • 4
  • 41
  • 50
151

Use the source, Luke.

No, but seriously I found that building Node.js from source, running the tests, and looking at the benchmarks did get me on the right track. From there, the .js files in the lib directory are a good place to look, especially the file http.js.

Update: I wrote this answer over a year ago, and since that time there has an explosion in the number of great resources available for people learning Node.js. Though I still believe diving into the source is worthwhile, I think that there are now better ways to get started. I would suggest some of the books on Node.js that are starting to come out.

Sayed Mohd Ali
  • 2,156
  • 3
  • 12
  • 28
Zach B
  • 947
  • 1
  • 6
  • 8
  • 10
    +1 for the opening line :3 but thats how I leant to use Kohana. So it is a pretty good method as long as you can understand the source. – Olical Mar 15 '11 at 15:19
  • 1
    Express helps you get started in the source, imo. I mean, at least it gives you a jumping off point, a working example... something to fiddle around with. https://expressjs.com/en/guide/routing.html – Wolfpack'08 Jul 27 '12 at 05:30