Skip to content

Learning node.js

This section contains resources for learning how to work with Node.js.

Note this is a living document and is constantly being updated. Some things may come and go over time.

Beginner

  • Node.js
  • NPM - Node Package Manager (Installed with Node.js)
  • NVM - A tool for managing multiple versions of Node.js (MacOS Only)
  • nvm-windows - Similar to NVM but for Windows

Installing Node and NPM

Documentation

Node Modules

Books

Tutorials

Node.js Tutorials

npm Tutorials

Intermediate

Templating

Tutorials

MVC

  • How to Build and Structure a Node.js MVC Application - A great tutorial for building a notes board app. This doesn't use Express to build the app, it uses another framework called Hapi.js. Either framework most definitely simplifies the implementation of an app like this.

Express Tutorials

Websocket Tutorials

Passport.js Tutorials

Application Deployment

In order to deploy an application on a server out in the world you need to use a host that supports Node.js and how it runs. Node.js apps require a system that allows a Javascript runtime (process) to run all the time using a process management tool like PM2. This means a "shared host" like Bluehost or another service that offers budget shared hosting typically doesn't support running apps like this. Below are some tutorials from hosts that offer these kinds of servers.

Another important thing to mention is when you work with hosts like Digital Ocean or Heroku, you typically have to setup and configure the "server instance", which means you become the administrator responsible for installing and configuring the operating system (Ubuntu or another form of Linux or Windows) to be a web server. These hosts are providing whats called a "Virtual Private Server" aka a VPS with a dedicated IP address which you can think of like a small piece of a much larger server called the "cloud".

Advanced

Tutorials

Building Command Line Applications

Creating Modules (aka npm Packages)

Build a Static Site Generator

Modules

Awesome Lists

Back to top