Node.js

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

COURSES 4

WATCH Mike Frey's COURSE

Introduction to Node Servers with Hapi.js

Introduction to Node Servers with Hapi.js

hapi is a battle-tested, full-featured, framework for building web applications and services with Node.js. With integrated supp...

12 lessons

WATCH Will Button's COURSE

Introduction to Node: The Fundamentals

Introduction to Node: The Fundamentals

Understanding Node.js can have a significant positive impact on your career as a Javascript developer. Knowing how it works, ho...

14 lessons

WATCH Ben Clinkinbeard's COURSE

Getting Started with Express.js

Getting Started with Express.js

Express is a minimal web server built on Node.js that provides essential functionality for delivering web applications to the b...

11 lessons

WATCH Will Button's COURSE

Build Node.js APIs with OpenAPI Spec (Swagger)

Build Node.js APIs with OpenAPI Spec (Swagger)

In this course we will build a ToDo API that stores notes using the OpenAPI Specification (Swagger). We will start with a blank...

16 lessons

Pass command line arguments to node.js

Command line arguments are often used to modify the behavior of an application or specify needed parameters for operation. In this lesson, you will learn how to access the command line arguments pa...

Will Button
3:10

Setup an Nginx Proxy for a Node.js App with Docker

Learn how to setup an Nginx proxy server with Docker that sits in front of a Node.js app. You can use a proxy to control the flow of frontend requests hitting your app, as well as to achieve better...

Mark Shust
5:40

Use nodejs-dashboard event loop delay

In this lesson, you will learn how to use the Formidable nodejs-dashboard event loop delay to identify expensive operations in your code. An example application with excessive synchronous file syst...

Will Button
5:45

Use Realm Object Database with Node.js

Realm is an ACID compliant object database. In this lesson, you will learn how to install Realm, define schemas for your data, perform CRUD operations and persist your data to the filesystem.

Will Button
8:03

Install nodejs-dashboard

In this lesson, you will learn how to install the Formidable nodejs-dashboard. You will learn what each section of the dashboard is used for and see a sample application in action.

Will Button
2:54

Testing ES6 Promises in Node.js using Mocha and Chai

Writing great ES6 style Promises for Node.js is only half the battle. Your great modules must include tests as well to ensure future iterations don't break them. In this lesson, I show you a simple...

Will Button
4:53

Build a Simple Node.js Web Server with Docker

Learn how to build a simple Node.js web server with Docker. In this lesson, we'll create a Dockerfile for a simple Node.js script, copy and build it into a Docker image, and start a container to ru...

Mark Shust
2:01

Use Now alias for custom sub-domains

Now is a great way to deploy your node application, but the generated URLs aren't memorable or easily remembered. With Now's alias command, you can fix that. In this video lesson we'll cover how to...

Andrew Van Slaars
2:50

Use Secrets When Deploying Applications with Now

Applications require a lot of sensitive information. Database passwords, API keys and secrets used for signing JWTs, just to name a few. If you're deploying your application using the Now CLI, you ...

Andrew Van Slaars
4:17

Deploy a Node Application with the Now CLI

Now offers a friction-free way to deploy node applications right from the terminal. In this lesson, we'll learn how to use the now CLI to deploy a node application, including the deployment of envi...

Andrew Van Slaars
4:02

Deploy Node.js on Docker

Getting nodejs to run inside of Docker is relatively simple. Getting nodejs to run inside of Docker while using recommended best practices takes some planning. In this lesson, I’ll show you how to ...

Will Button
9:54

Changes to Buffers in Node.js 6

In versions of nodejs prior to 6, how you created a buffer and what you did with it produced different behaviors. This made it possible to introduce security or reliability issues into your code. A...

Will Button
3:14

FEATURED NODE.JS PLAYLISTS

Browse all Node.js lessons.

showing All 105 lessons...

Create an API with Swagger

Build Monitoring into your API Server

P

Perform Load Tests on an API Server using Apache jmeter

P

Connect an existing React application to an API server created with Swagger

P

Create a Node.js function for an HTTP PUT request for a Swagger API

P

Create a Node.js function for an HTTP GET request with URL parameters

P

Create a Node.js function for an HTTP POST request for a Swagger API

P

Create a Node.js function for an HTTP DELETE request for a Swagger API

P

Create a Node.js function for an HTTP GET request for a Swagger API

P

Define an HTTP DELETE Endpoint for a Node.js API Server with Swagger

P

Mock API Responses with Swagger

P

Define an HTTP PUT Endpoint for a Node.js API Server with Swagger

P

Define an HTTP GET Endpoint with URL Parameters for a Node.js Server with Swagger

P

Define an HTTP POST Endpoint for a Node.js Server with Swagger

P

Define an HTTP GET Endpoint for a Node.js API Server with Swagger

P

Create An API Schema Definition Using Swagger

P

Pass command line arguments to node.js

Setup an Nginx Proxy for a Node.js App with Docker

Use nodejs-dashboard event loop delay

Use Realm Object Database with Node.js

Install nodejs-dashboard

Testing ES6 Promises in Node.js using Mocha and Chai

Build a Simple Node.js Web Server with Docker

Use Now alias for custom sub-domains

Use Secrets When Deploying Applications with Now

Deploy a Node Application with the Now CLI

Deploy Node.js on Docker

P

Changes to Buffers in Node.js 6

P

Using npm scripts to deploy to a Vagrant image

P

Creating JWTs (JSON Web Tokens) in Node

P

Deploying a Node.js Application to AWS with Elastic Beanstalk

P

Using ES6 and beyond with Node.js

hapi.js - Managing State with Cookies

P

hapi.js - Request Validation with Joi

P

hapi.js - Friendly error pages with extension events

P

hapi.js - Extending the request with lifecycle events

P

hapi.js - POST and PUT request payloads

P

hapi.js - View engines

P

hapi.js - Serving static files

P

hapi.js - Using the response object

P

hapi.js - Replying to Requests

P

hapi.js - Route parameters

P

hapi.js - Logging with good and good-console

P

hapi.js - Up and running

Managing Memory and Garbage Collection in Node.js

P

Creating a Fake API with Hapi For Your Client-Side Application

Using virtual properties with Mongoose and MongoDB

P

Including dependencies in your AWS Lambda function

P

Use AWS Lambda and API Gateway to return resume data

Trying new versions of Node.js with NVM

P
node tutorial about Create an API with Swagger

Create an API with Swagger

3:56 node

Swagger is a project used to describe restful APIs using the OpenAPI Specification. It allows you to document your API so consumers understand the endpoints, parameters, and responses. In this lesson, I'll show you how to install the swagger command line tool, create a new API project using swagger, and introduce you to the swagger API editor.

node tutorial about Build Monitoring into your API Server

Build Monitoring into your API Server

7:06 node PRO

There are a lot of great monitoring tools available for Node.js. It is also incredibly easy to build monitoring into your application. In this lesson, we will add precision monitoring to the function calls in the Todo API server, log it to the console, and persist those results to Elasticsearch where they can later be reviewed, graphed, and analyzed.

node tutorial about Perform Load Tests on an API Server using Apache jmeter

Perform Load Tests on an API Server using Apache jmeter

8:25 node PRO

The last step before deploying your new API server into production is to load test it. Load testing allows you to better understand the performance characteristics as well as forecast load and capacity. Fortunately, load testing is incredibly easy and I'll show you exactly how to create a load test plan, test the response from the API server to ensure it is responding correctly, and scale your test up to simulate as many users as needed.

node tutorial about Connect an existing React application to an API server created with Swagger

Connect an existing React application to an API server created with Swagger

6:01 node PRO

In this lesson, I will show you how to update a simple, skeleton React application to work with the Todo API server built with Swagger. Using existing components, you will learn how to display all Todo items, update an existing Todo item, and add a new Todo item.

node tutorial about Create a Node.js function for an HTTP PUT request for a Swagger API

Create a Node.js function for an HTTP PUT request for a Swagger API

2:52 node PRO

This lesson will teach you how to update a Todo item in Elasticsearch when received from an HTTP PUT method in your API server built with Swagger.

node tutorial about Create a Node.js function for an HTTP GET request with URL parameters

Create a Node.js function for an HTTP GET request with URL parameters

3:33 node PRO

In this lesson, you will learn how to create a function in your Node.js Todo API server that gets the ID of the Todo item being requested from the URL and retrieve the Todo item from Elasticsearch.

node tutorial about Create a Node.js function for an HTTP POST request for a Swagger API

Create a Node.js function for an HTTP POST request for a Swagger API

4:41 node PRO

This lesson shows you how to create the functions defined in the Todo API specification to create new Todo items when received in HTTP POST methods. You will also see the errors you will get when CORS is not properly configured and how to resolve them by installing the NPM CORS package.

node tutorial about Create a Node.js function for an HTTP DELETE request for a Swagger API

Create a Node.js function for an HTTP DELETE request for a Swagger API

2:45 node PRO

This lesson shows you how to delete a Todo item from Elasticsearch using the Todo ID from the URL parameters according to the specifications defined in your Swagger API docs.

node tutorial about Create a Node.js function for an HTTP GET request for a Swagger API

Create a Node.js function for an HTTP GET request for a Swagger API

5:42 node PRO

This lesson will teach you how to create the javascript functions defined by the Swagger specification to return all Todo items to the client when requested with an HTTP GET method.

node tutorial about Define an HTTP DELETE Endpoint for a Node.js API Server with Swagger

Define an HTTP DELETE Endpoint for a Node.js API Server with Swagger

1:02 node PRO

This lesson demonstrates how to access the ID of a Todo item being deleted from the URL parameters when used with an HTTP DELETE method.

node tutorial about Mock API Responses with Swagger

Mock API Responses with Swagger

2:51 node PRO

APIs created with Swagger have a built-in mock function, allowing you to mock responses from your API prior to writing the backend code to make it functional. In addition to learning how to enable this feature, I will show you how to write your own functions to enhance the mock responses returned when using the Swagger mock feature.

node tutorial about Define an HTTP PUT Endpoint for a Node.js API Server with Swagger

Define an HTTP PUT Endpoint for a Node.js API Server with Swagger

0:57 node PRO

In this lesson, you will learn how to define multiple parameters in the API specification to identify the ID of the Todo item being updated in the URL, as well as the contents for the updated Todo item in the body of the request.

node tutorial about Define an HTTP GET Endpoint with URL Parameters for a Node.js Server with Swagger

Define an HTTP GET Endpoint with URL Parameters for a Node.js Server with Swagger

1:35 node PRO

In this lesson, you will learn how to define an HTTP GET endpoint using Swagger with URL parameters to identify the ID of the Todo item being requested.

node tutorial about Define an HTTP POST Endpoint for a Node.js Server with Swagger

Define an HTTP POST Endpoint for a Node.js Server with Swagger

1:23 node PRO

In this lesson, you will learn how to define HTTP POST operations for your Todo API server using Swagger. Creating the endpoint, passing the todo in the request body, and parsing the todo are all demonstrated.

node tutorial about Define an HTTP GET Endpoint for a Node.js API Server with Swagger

Define an HTTP GET Endpoint for a Node.js API Server with Swagger

1:28 node PRO

In this lesson, you will learn how to create an HTTP GET endpoint for a node.js server using Swagger. This endpoint will be used to return all of the Todo items from Elasticsearch to the client.

node tutorial about Create An API Schema Definition Using Swagger

Create An API Schema Definition Using Swagger

2:13 node PRO

Schema definitions allow you to define the format and types of data sent and received by your API. This allows consumers of your API to be confident in using your API. In this lesson, you will learn how to create a schema definition for the Todo API server.

node tutorial about Pass command line arguments to node.js

Pass command line arguments to node.js

3:10 node

Command line arguments are often used to modify the behavior of an application or specify needed parameters for operation. In this lesson, you will learn how to access the command line arguments passed to your node.js application as well as different strategies for evaluating and accessing them.

node tutorial about Setup an Nginx Proxy for a Node.js App with Docker

Setup an Nginx Proxy for a Node.js App with Docker

5:40 node

Learn how to setup an Nginx proxy server with Docker that sits in front of a Node.js app. You can use a proxy to control the flow of frontend requests hitting your app, as well as to achieve better performance and scalability. We'll create a sample Node.js app, configure a default Nginx configuration file for proxying web requests, build both Node.js and Nginx Docker images, and learn how to link everything up and get it running with Docker specifics.

node tutorial about Use nodejs-dashboard event loop delay

Use nodejs-dashboard event loop delay

5:45 node

In this lesson, you will learn how to use the Formidable nodejs-dashboard event loop delay to identify expensive operations in your code. An example application with excessive synchronous file system write operations is used as well as the provided jmeter configuration to simulate load.

node tutorial about Use Realm Object Database with Node.js

Use Realm Object Database with Node.js

8:03 node

Realm is an ACID compliant object database. In this lesson, you will learn how to install Realm, define schemas for your data, perform CRUD operations and persist your data to the filesystem.

node tutorial about Install nodejs-dashboard

Install nodejs-dashboard

2:54 node

In this lesson, you will learn how to install the Formidable nodejs-dashboard. You will learn what each section of the dashboard is used for and see a sample application in action.

node tutorial about Testing ES6 Promises in Node.js using Mocha and Chai

Testing ES6 Promises in Node.js using Mocha and Chai

4:53 node

Writing great ES6 style Promises for Node.js is only half the battle. Your great modules must include tests as well to ensure future iterations don't break them. In this lesson, I show you a simple ES6 Promise in Node.js, then walk you through creating tests in Mocha using chai and chai-as-promised to test both resolve and reject methods.

node tutorial about Build a Simple Node.js Web Server with Docker

Build a Simple Node.js Web Server with Docker

2:01 node

Learn how to build a simple Node.js web server with Docker. In this lesson, we'll create a Dockerfile for a simple Node.js script, copy and build it into a Docker image, and start a container to run the web server.

node tutorial about Use Now alias for custom sub-domains

Use Now alias for custom sub-domains

2:50 node

Now is a great way to deploy your node application, but the generated URLs aren't memorable or easily remembered. With Now's alias command, you can fix that. In this video lesson we'll cover how to add an alias to a deployment, giving you a custom *.now.sh subdomain, how to create an alias using your own custom domain name, how to list your aliases and finally how to remove an alias if you no longer want it.

node tutorial about Use Secrets When Deploying Applications with Now

Use Secrets When Deploying Applications with Now

4:17 node

Applications require a lot of sensitive information. Database passwords, API keys and secrets used for signing JWTs, just to name a few. If you're deploying your application using the Now CLI, you can deploy your secret information right through the CLI and give your code access to those secrets without exposing them directly in your source code. In this lesson, we'll cover how to add secrets to now, how to use a secret as the value of an environment variable and how to list and remove secrets in now.

node tutorial about Deploy a Node Application with the Now CLI

Deploy a Node Application with the Now CLI

4:02 node

Now offers a friction-free way to deploy node applications right from the terminal. In this lesson, we'll learn how to use the now CLI to deploy a node application, including the deployment of environment variables. We'll also look at how now retains each version of your application, how to see the running code right in the browser and how to remove a deployment when you no longer want that version.

node tutorial about Deploy Node.js on Docker

Deploy Node.js on Docker

9:54 node PRO

Getting nodejs to run inside of Docker is relatively simple. Getting nodejs to run inside of Docker while using recommended best practices takes some planning. In this lesson, I’ll show you how to get a simple nodejs web server running in Docker on your local workstation while adhering to best practices.

node tutorial about Changes to Buffers in Node.js 6

Changes to Buffers in Node.js 6

3:14 node PRO

In versions of nodejs prior to 6, how you created a buffer and what you did with it produced different behaviors. This made it possible to introduce security or reliability issues into your code. At the time however, JavaScript had no means of reading or manipulating streams of binary data. Now that TypedArray has been added in ES6, the Buffer class implements the Uint8Array API in a manner that better suits node.js use cases.
In this lesson, you will learn what that means to your existing code and how to update your code to use the new Buffer APIs.

node tutorial about Using npm scripts to deploy to a Vagrant image

Using npm scripts to deploy to a Vagrant image

4:56 node PRO

One of the biggest stumbling blocks I see when pushing code to production servers is unidentified dependencies: something installed locally on my workstation that doesn’t exist on the production servers. In this lesson, I’ll show you how to use npm scripts to deploy your node.js application to a newly-provisioned server via Vagrant for validation before going to production.

node tutorial about Creating JWTs (JSON Web Tokens) in Node

Creating JWTs (JSON Web Tokens) in Node

4:53 node PRO

In this lesson we will look at all of the pieces that combine together to create a JWT (j AWT) or JSON Web Token. You will use node to create a JWT, and then verify it in the JWT debugger.

node tutorial about Deploying a Node.js Application to AWS with Elastic Beanstalk

Deploying a Node.js Application to AWS with Elastic Beanstalk

5:56 node PRO

In this lesson, you will take a sample Node.js and Express web application to Amazon Web Services by leveraging the managed service, Elastic Beanstalk. This lesson will cover packaging the application, configuring a new Elastic Beanstalk application, and deploying the packaged application to an environment within your application.

node tutorial about Using ES6 and beyond with Node.js

Using ES6 and beyond with Node.js

5:18 node

If you're used to using all the latest ES6+ hotness on the front end via Babel, working in Node.js can feel like a step back. Thankfully, it's easy to bring all the Babel goodness with you to the backend, and that's exactly what this lesson covers.

node tutorial about hapi.js - Managing State with Cookies

hapi.js - Managing State with Cookies

3:05 node PRO

hapi has built-in support for parsing cookies from a request headers, and writing cookies to a response, making state management easy and straight-forward. It even has built in support for cookie encryption and auto detects when a cookie contains JSON, parsing or stringifying automatically.

node tutorial about hapi.js - Request Validation with Joi

hapi.js - Request Validation with Joi

3:15 node PRO

hapi supports request validation out of the box using the joi module. Request path parameters, payloads, and querystring parameters can be validated with joi's simple, yet powerful, notation. This lesson covers the basics of validating requests using joi.

node tutorial about hapi.js - Friendly error pages with extension events

hapi.js - Friendly error pages with extension events

2:00 node PRO

hapi automatically responds with JSON for any error passed to a route's reply() method. But what if your application needs errors rendered in HTML? This lesson shows how to implement friendly HTML error messages using hapi extension events.

node tutorial about hapi.js - Extending the request with lifecycle events

hapi.js - Extending the request with lifecycle events

1:54 node PRO

Instead of using middlware, hapi provides a number of points during the lifecycle of a request that you can hook-in to provide additional functionality, called "extension events". This lesson will give you an introduction to using extension events, and show how they can be used to manipulate the request or response in-flight.

node tutorial about hapi.js - POST and PUT request payloads

hapi.js - POST and PUT request payloads

2:06 node PRO

hapi makes handling POST and PUT payloads easy by buffering and parsing them automatically without requiring additional modules or middleware. This video will demonstrate how to handle JSON and form based request payloads via hapi's route configuration.

node tutorial about hapi.js - View engines

hapi.js - View engines

2:00 node PRO

View engines, or template engines, allow you to maintain a clean separation between your presentation layer and the rest of your application. This video will demonstrate how to use the vision plugin with hapi to enable template support.

node tutorial about hapi.js - Serving static files

hapi.js - Serving static files

1:38 node PRO

hapi does not support serving static files out of the box. Instead it relies on a module called Inert. This lesson will cover serving static files using Inert's custom handlers.

node tutorial about hapi.js - Using the response object

hapi.js - Using the response object

1:45 node PRO

Think of hapi's reply() function as "what you want to say" and the response object as "how you want to say it". While reply controls the payload sent to the client, the response object will allow you to control how the client interprets the payload by manipulating status code, content type, state and more.

node tutorial about hapi.js - Replying to Requests

hapi.js - Replying to Requests

1:52 node PRO

hapi's reply interface is one of it's most powerful features. It's smart enough to detect and serialize objects, buffers, promises and even streams. This video will demonstrate first hand how to use the reply method to send your data to the client, no matter the format.

node tutorial about hapi.js - Route parameters

hapi.js - Route parameters

3:24 node PRO

Routing is a fundamental aspect of any framework. In this lesson, you'll learn how to use path parameters in hapi's router. We'll also touch on how the router uses specificity to order routes internally.

node tutorial about hapi.js - Logging with good and good-console

hapi.js - Logging with good and good-console

2:45 node PRO

hapi doesn't ship with logging support baked in. Luckily, hapi's rich plugin ecosystem includes everything needed to configure logging for your application. This video will introduce good, a process monitor for hapi, and good-console, a reporter for good that outputs to standard out.

node tutorial about hapi.js - Up and running

hapi.js - Up and running

1:40 node

hapi is a rock solid server framework for Node.js. Its focus on modularity and configuration-over-convention makes it the perfect match for any size development team. This video will introduce you to hapi by showing you the bare minimum needed to run a hapi server.

node tutorial about Managing Memory and Garbage Collection in Node.js

Managing Memory and Garbage Collection in Node.js

8:40 node PRO

In this lesson, you will learn how to use view and interpret the garbage collection activity of your node.js app via the console. You will also learn how to take heapdump snapshots and analyze them with Chrome Developer Tools to identify possible memory leaks. A sample app with a known memory leak is provided as part of the walk-through to illustrate how to use the tools in your own environments.

node tutorial about Creating a Fake API with Hapi For Your Client-Side Application

Creating a Fake API with Hapi For Your Client-Side Application

3:56 node

When developing client-side applications, you may find you're in the situation where you require data from a server-side API that is not yet available. The lesson will teach you how to make use of the hapi-dummy-api plugin to create an API that will return fake data to your client-side application.

node tutorial about Using virtual properties with Mongoose and MongoDB

Using virtual properties with Mongoose and MongoDB

8:59 node PRO

Virtual properties are a great way to add some semantics to your data layer and abstract any shortcomings of the underlying schema. This lesson demonstrates virtual getters and setters in Mongoose, and how to integrate their use in your Express server.

node tutorial about Including dependencies in your AWS Lambda function

Including dependencies in your AWS Lambda function

5:07 node PRO

This lesson teaches you how to use dependencies, such as faker.js in your Lamdba functions. We will update the lambda code from the Lambda and API Gateway lesson to generate random work history and endorsements using the faker npm module then upload our code to Lambda and test.

node tutorial about Use AWS Lambda and API Gateway to return resume data

Use AWS Lambda and API Gateway to return resume data

5:35 node

In this lesson, you will learn how to create a simple AWS Lambda function to submit a name via an API Gateway and return a resume for that person. At the end of the lesson, you will be able to create a Lambda function, and API Gateway, and understand how to submit data via the API Gateway that will be accessible via the Lambda function

node tutorial about Trying new versions of Node.js with NVM

Trying new versions of Node.js with NVM

4:26 node PRO

It's possible to install and run multiple versions of Node.js using a project called NVM. In this lesson we'll walk though the installation, how to try out Node.js version 4.0.0 & even how to configure Webstorm to use any nvm-installed version. Note: NVM works on Mac OSX and Linux only. For a Windows version (with the same commands) see https://github.com/coreybutler/nvm-windows or https://github.com/hakobera/nvmw

HEY, QUICK QUESTION!
Joel's Head
Why are we asking?