Authors: Jonathan Mills, Joe Eames, Rob Conery, Scott Allen, Paul O'Fallon, Cory House, Samer Buna

Node.js is a JavaScript runtime that uses a non-blocking I/O model that makes it lightweight, efficient and very popular among JavaScript developers who also need to write... Read more


The courses in this section will introduce you to fundamental topics including basic Node.js syntax, NPM package management, and creating your own development environment.


Learning To Program - Part 1: Getting Started

by Scott Allen

Jun 10, 2013 / 3h 12m

Beginner • 3h 12m

Start Course

Learning to Program gives you an introduction to computer programming using the worlds most popular programming language - JavaScript. In the course we'll work with different JavaScript programs and learn how to control the flow of a program, manage multiple source code files, understand boolean logic, and by the end even build a simple web server.

Table of contents
  1. Learning To Program - An Introduction
    20m 25s
  2. Learning To Program - Editors and Code Files
    24m 36s
  3. Learning To Program - Variables and Types
    21m 52s
  4. Learning To Program - Functions
    22m 34s
  5. Learning To Program - Branch And Loop
    29m 35s
  6. Learning To Program - Objects
    26m 57s
  7. Learning To Program - Tests
    28m 50s
  8. Learning To Program - Final
    18m 7s

NPM Playbook

by Joe Eames

Dec 11, 2015 / 58m

Beginner • 58m

Start Course

NPM is not just for Node developers - it has become the default package manager for front end JavaScript developers as well. This course will take you from knowing nothing about NPM to being an expert in using NPM to manage the dependencies for your project. Additionally, you will learn how to publish packages for other developers to use in their own projects, how to keep those packages updated, and how to coordinate them with your github repository.

Table of contents
  1. Course Overview
    1m 13s
  2. NPM Basics
    29m 49s
  3. Advanced NPM
    13m 21s
  4. Publishing Your Own Package
    13m 50s

Building a JavaScript Development Environment

by Cory House

Nov 10, 2016 / 5h 19m

Beginner • 5h 19m

Start Course

Hello! My name is Cory, and welcome to Building a JavaScript Development Environment. In this course, you will explore the long list of decisions and patterns for building your own JavaScript development from scratch using modern tooling. You will get there by learning about major topics like transpiling, bundling, testing, and npm scripts for automation. By the end of this course, you will be able to create a rapid feedback JavaScript development experience that suits your team's unique preferences. Before you begin, make sure you are already familiar with JavaScript and HTML. After this course, you'll be ready to move on to building applications in a wide array of technologies including Angular, React, Node.js, and Electron. I hope you'll join me, and I look forward to helping you on your learning journey here at Pluralsight.

Table of contents
  1. Course Overview
    1m 30s
  2. You Need a Starter Kit
    19m 38s
  3. Editors and Configuration
    8m 8s
  4. Package Management
    10m 38s
  5. Development Web Server
    19m 26s
  6. Automation
    15m 14s
  7. Transpiling
    18m 47s
  8. Bundling
    30m 24s
  9. Linting
    26m 11s
  10. Testing and Continuous Integration
    42m 44s
  11. HTTP Calls
    44m 22s
  12. Project Structure
    9m 47s
  13. Production Build
    46m 1s
  14. Production Deploy
    26m 40s


The courses in this section cover some of the more nuanced topics in including integrating Node.js with Express, asynchronous code, and working with RESTful web services.


Introduction to Node.js

by Paul O'Fallon

Dec 20, 2012 / 2h 48m

Intermediate • 2h 48m

Start Course

In this course we begin with Node's background, concepts and strategies for writing asynchronous code. We then examine Node's module system, including built-in modules, application modularization as well as the NPM third party module registry. From there we tackle EventEmitters and Streams, as well as utilities for interacting with the local file system. Next we look at using Node to write both client and server web applications, as well as real time integration with Socket.IO. We cover writing unit tests using both the built-in assert module and third party frameworks. We wrap up with a look at launching child processes in Node and writing scalable applications with the "cluster" module.

Table of contents
  1. Getting Started with Node.js
    36m 14s
  2. Modules, require() and NPM
    17m 43s
  3. Events and Streams
    26m 35s
  4. Accessing the Local System
    17m 20s
  5. Interacting with the Web
    21m 40s
  6. Testing and Debugging
    27m 38s
  7. Scaling Your Node Application
    20m 57s

Building Web Applications with Node.js and Express 4.0 (UPDATE)

by Jonathan Mills

Mar 23, 2018 / 5h 12m

Intermediate • 5h 12m

Start Course

Node.js is a simple and powerful tool for backend JavaScript development. In this course, Building Web Applications with Node.js and Express 4.0 (UPDATE), you will learn everything you need to know to get started in web development with Node.js. First, you will cover the basics of Node.js and how to select an IDE. Second, you will explore template engines and how to render in HTML out of Express. Next, you will learn all aspects of routing, including express middleware. Finally, you will work with multiple databases and backend APIs and will cover local security with Passport.js. By the end of this course, you will have all of the tools you need to build a full-stack web application with Node.js and Express.

Table of contents
  1. Course Overview
    1m 43s
  2. Getting Started
    34m 12s
  3. First Page
    37m 53s
  4. Setting up Tooling
    35m 54s
  5. Templating Engines
    25m 9s
  6. Routing
    31m 57s
  7. Databases
    1h 5m 39s
  8. Authentication
    52m 58s
  9. Structure and Third-party APIs
    26m 58s

RESTful Web Services with Node.js and Express

by Jonathan Mills

Apr 14, 2015 / 2h 4m

Intermediate • 2h 4m

Start Course

Node.js is a simple and powerful tool for backend development. When combined with express, you can create lightweight, fast, scalable APIs quickly and simply. In this course, we will walk through how to stand up a lightweight Express server serving truly RESTful services using Node.js, Mongoose, and MongoDB. We will implement all of the RESTful verbs to get, add, and update data from our service. We will also spend some time working through unit and end to end integration tests for our services.

Table of contents
  1. What Is REST?
    18m 54s
  2. Getting Data
    20m 30s
  3. Posting Data
    17m 30s
  4. Updating Data
    20m 9s
  5. Testing
    33m 40s
    13m 51s


In these advanced courses you will learn advanced topics such as testing, application patterns, and Node.js module structure.


Node.js Testing Strategies

by Rob Conery

Apr 14, 2015 / 2h 39m

Intermediate • 2h 39m

Start Course

Testing with Node.js and JavaScript can be intimidating. In this course, Rob Conery will offer tips and techniques he's used over the years for testing and maintaining large Node applications.

Table of contents
  1. Introduction
    31m 43s
  2. Simple Tests with Node.js and Mocha
    49m 15s
  3. Data Access Considerations
    32m 15s
  4. External APIs
    46m 34s

Node Application Patterns

by Rob Conery

Jul 11, 2014 / 2h 30m

Intermediate • 2h 30m

Start Course

In this course, Rob Conery takes you beyond the simple demo with Node.js and talks about ways you can structure your application, your code, and your tests. Along the way he'll discuss various JavaScript patterns and Node toolsets.

Table of contents
  1. Introduction
    40m 58s
  2. Setting Up Your Project
    22m 32s
  3. Building a Registration Module
    49m 13s
  4. Building an Authentication Module at Full Speed
    24m 39s
  5. Integrating Our Module into a Web App
    13m 33s

Advanced Node.js

by Samer Buna

Feb 17, 2017 / 3h 45m

Advanced • 3h 45m

Start Course

Hello, and welcome to Advanced Node.js, part of the Node.js Learning Path here at Pluralsight. My name is Samer Buna, and I’m looking forward to helping you understand how the Node runtime work and learn about all the powerful built-in features that you can use in every Node process. Along the way, you’re going to be learning about things like modules management, V8, concurrency and event loop, streams, child processes, and clusters. You’ll also be using npm and Node's event-driven modules for networking and HTTP web servers. You’ll want to make sure you’re already up to speed on modern JavaScript and the basics of Node.js. So if you’re ready to get started, Advanced Node.js is waiting for you. Thanks again for visiting me here at Pluralsight!

Table of contents
  1. Course Overview
    1m 41s
  2. Node != JavaScript
    1h 2m 24s
  3. Concurrency Model and Event Loop
    20m 47s
  4. Node's Event-driven Architecture
    21m 14s
  5. Node for Networking
    19m 10s
  6. Node for Web
    19m 48s
  7. Node's Common Built-in Libraries
    19m 54s
  8. Working with Streams
    19m 52s
  9. Clusters and Child Processes
    38m 13s
  10. Course Wrap Up
    2m 39s

What you will learn

  • Strategies for writing asynchronous code
  • EventEmitters and Streams
  • Real time integration with Socket.IO
  • Using Express.js
  • Data access in Node.js
  • Building APIs with Node.js
  • Modular JavaScript
  • Performance tips
  • Testing
  • Common tools, patterns, and best practices


No prior programming knowledge required, but a background in JavaScript will help speed your progress.

Register for FREE. Get your Pluralsight IQ.

You’ll get unlimited access to adaptive skill assessments that help you validate your skills in as little as 5 minutes, and you'll get to see the Pluralsight platform first-hand.