Node.js Software Development Training

  4.7 out of 5 - Read Testimonials

This Node.js Software Development Training class introduces Node.js as a platform. Node.js is an open-source framework that runs on various platforms, such as Windows, Linux, Unix, Mac OS X, etc. It is built on Chrome's JavaScript runtime for easily building fast and scalable network applications. Node.js uses JavaScript on the server. Node.js can be used to create console, desktop, web services, and web applications. Node.js provides a rich library of various JavaScript modules, which simplifies the development of web applications using Node.js to a great extent.


Public Classes: Delivered live online via WebEx and guaranteed to run . Join from anywhere!

Private Classes: Delivered at your offices , or any other location of your choice.

Course Topics
  1. Learn what Node.js is and how its best used
  2. Install and configure Node.js using platform installation packages and source code
  3. Manage Node.js Packages with the Node Package Manager
  4. Use and create Node.js Modules
  5. Configure and secure a Web Application
  6. Utilize file and stream resources with Node.js
  7. Understand common Node.js programming patterns
  8. Explore performance issues with Node.js
  9. Troubleshoot Node.js problems
  1. Introduction to Node.js
    1. What Is Node.js?
    2. Application of Node.js
    3. Installing Node.js and NPM
    4. "Hello, Node World!"
    5. How It Works
    6. Built on JavaScript: Benefits
    7. Traditional Server-Side I/O Model
    8. Disadvantages of the Traditional Approach
    9. Event-Driven, Non-Blocking I/O
    10. Concurrency
    11. Using Node Package Manager (NPM)
    12. Express
    13. Summary
  2. Module and Dependency Management
    1. Nature of a Node.js Project
    2. Introduction to Modules
    3. A Simple Module
    4. Using the Module
    5. Directory Based Modules
    6. Example Directory Based Module
    7. Using the Module
    8. Making a Module Executable
    9. Core Modules
    10. Loading Module from node_modules Folders
    11. Dependency Management Using NPM
    12. Installing a Package
    13. About Global Installation
    14. Setting Up Dependency
    15. Package Version Numbering Syntax
    16. Updating Packages
    17. Uninstalling Packages
    18. Alternate Dependency Management
    19. Summary
  3. The File System Module
    1. Introduction
    2. Basic File Manipulation
    3. Getting File/Directory Meta Data
    4. Read an Entire File
    5. The Buffer Class
    6. Writing to a File
    7. Reading in Chunks
    8. Writing in Chunks
    9. The open() Method
    10. Stream API
    11. The Readable Interface
    12. Example Reading Data in Chunks
    13. The Writable Interface
    14. Summary
  4. Events in Node JS
    1. Event Driven Programming
    2. Event Driven Programming (Contd.)
    3. Event Emitter
    4. EventEmitter Class
    5. EventEmitter Class – Inheritance
    6. The Event Loop and Event Handler
    7. Phases Overview
    8. Event Handlers
    9. Example (Using EventEmitter as an Object)
    10. Example (Inheriting from EventEmitter)
    11. EventEmitter Functions
    12. Issue with 'this' Keyword in Callback Functions
    13. Handling this Problem
    14. Controlling Event Callbacks in the Event Loop
    15. Summary
  5. Asynchronous Programming with Callbacks
    1. Synchronous and Asynchronous
    2. Callbacks
    3. Creating a Callback Function
    4. Calling The Callback Function
    5. Callback - Another Example
    6. Issue with 'this' Keyword in Callback Functions
    7. Handling this Problem
    8. Handling this Problem – Method 1 (Storing in Another Variable)
    9. Handling this Problem – Method 2 (Using Bind Function)
    10. Handling this Problem – Method 3 (Using ES6 Arrow Functions)
    11. Error Handling without Callback
    12. Error Handling with Callback
    13. Asynchronous Callback
    14. setImmediate() and nextTick()
    15. API Example
    16. Summary
  6. Asynchronous Programming with Promises
    1. The Problems with Callbacks
    2. Introduction to Promises
    3. Requirements for Using Promises
    4. Creating Promises Manually
    5. Calling the Promise-based Function
    6. Making APIs that support both callbacks and promises
    7. Using APIs that support both callbacks and promises
    8. Chaining then Method / Returning a Value or a Promise from then Method
    9. Promisifying Callbacks with Bluebird
    10. Using Bluebird
    11. Bluebird – List of Useful Functions
    12. Benefit of using Bluebird over ES6 for Promisifcation
    13. Error Handling in Promise-based asynchronous functions
    14. Summary
  7. Build and Dependency Management
    1. Introduction
    2. Bower Package Manager
    3. Managing Packages Using Bower
    4. Using Bower Packages
    5. Describing Dependency
    6. Grunt Build Manager
    7. Installing Grunt Components
    8. Writing a Grunt Build Script
    9. Running Grunt
    10. Running the JSHint Task
    11. Compiling 'Less' Files
    12. Compressing CSS Files
    13. Gulp Build Manager
    14. Gulp vs. Grunt
    15. Installing Gulp Components
    16. Writing a Build Script
    17. Running Gulp
    18. Compiling Less Files
    19. Summary
  8. Basic Web Application Development
    1. Introduction to the HTTP Module
    2. The Request Handler Callback Function
    3. The Server Object
    4. Example Use of Server Object
    5. The Request Object
    6. The Response Object
    7. Parsing Request Body
    8. Serving Static Files
    9. The HTTP Client API
    10. Making POST/PUT/etc. Requests
    11. Where To go from Here?
    12. Summary
  9. Debugging and Unit Testing
    1. Problem Determination Options
    2. Using console.log
    3. Using the 'debug' Logging Package
    4. Configure Logging
    5. The 'Node Inspector' Debugger
    6. Basic Usage of the Debugger
    7. Unit Testing Node.js Applications
    8. Getting Setup
    9. Writing a Test Script
    10. Running Unit Test
    11. Testing Asynchronous Code
    12. Using the Chai Assert API
    13. The Chai Expect API
    14. Summary
  10. Introduction to Express
    1. Introduction to Express
    2. Basic Routing Example
    3. Defining Routing Rules
    4. Route Path
    5. The Response Object
    6. Supplying URL Parameters
    7. Ordering of Routes
    8. Defining Catch All Route
    9. Full Example Web Service
    10. Summary
  11. Express Middleware
    1. Introduction to Express Middleware
    2. Writing a Middleware Function
    3. Binding to a Path
    4. Order of Execution
    5. Raising Error
    6. Handling Error
    7. Serving Static Files
    8. Handling POST Request Body
    9. Enable Response Compression
    10. Summary
  12. Accessing MongoDB from Node.js
    1. Getting Started
    2. The Connection URL
    3. Obtaining a Collection
    4. Inserting Documents
    5. Updating a Document
    6. Querying for Documents
    7. Deleting a Document
    8. Connection Pooling
    9. Summary
  13. Jade Template Engine
    1. Introduction to Jade
    2. Using Jade
    3. A Simple Template
    4. Passing Data to a Template
    5. Basic HTML Tag Rendering
    6. Rendering Values
    7. Conditional Rendering
    8. Rendering a List
    9. Layout Template
    10. Creating a Layout Template
    11. Creating a Content Template
    12. Summary
  14. Clustering and Failover
    1. Process Management
    2. Managing the Process Using OS Tools
    3. Installing a Service in Windows
    4. Create an Upstart Script in Ubuntu
    5. Process Management Using forever
    6. Clustering Basics
    7. Example Clustered Application
    8. More About Clustering
    9. Child Process Failover
    10. Summary
  15. Microservices with Node.js
    1. Microservices
    2. Microservices with Node.js
    3. The Express Package
    4. Installing and Using Express
    5. Defining Routing Rules in Express
    6. Route Path
    7. The Response Object
    8. A Simple Web Service with Express Example
    9. Composite Services
    10. Example - Call an API Using a Promise
    11. Using the callApi() Function
    12. Summary
  16. Supertest, Spy, and Nock
    1. SuperTest
    2. Sample Service
    3. Test without a Testing Framework
    4. Test with a Testing Framework
    5. Using Promises with SuperTest
    6. Nock
    7. Example
    8. Example – Request Body
    9. Using Query String
    10. Specifying Replies
    11. Summary
  17. New Features in Node.JS Version 4, 6, and 8
    1. Node History
    2. Node Version Policy
    3. LTS Release Schedule
    4. Changes in Node.js
    5. 'npm' Modules and Native Code
    6. Node 4.x
    7. Arrow Functions
    8. Arrow Functions As Parameters
    9. Using 'this' Within Arrow Functions
    10. ES2015 Classes
    11. Declaring Classes
    12. Declaring Instance Methods
    13. Accessor Methods
    14. Static Methods
    15. Inheritance With Classes
    16. Generator Functions
    17. Generator Example
    18. Controlling Generator Execution - next(value)
    19. Controlling Generator Execution - return(value)
    20. Controlling Generator Execution - throw(exception)
    21. Generator Recursion With 'yield*'
    22. Tail Call Optimization
    23. 'const' and 'let'
    24. Variable Scope
    25. Shadowing Variables
    26. Node 5.x
    27. Spread Operator
    28. Node 6.x
    29. Rest Parameter
    30. Node 7.x
    31. Node 8.x
    32. Summary
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this JavaScript class:

  • Some prior understanding of web development, HTML, Ajax, and JavaScript.
Prerequisite Courses

Courses that can help you meet these prerequisites:

Training for Yourself

$1,725.00 or 3 vouchers

Upcoming Live Online Classes

  • See More Classes

Please select a class.

Training for your Team

Length: 3 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

What people say about our training

I really enjoyed the Node.js course. It was very professionally done and I learned a massive amount. I am excited to go off and start building things with everything I used.
Paul Livesey
Keystone Academy
Our instructor was very knowledgeable and experienced.
Greg Bickal
Grant Wood AEA
Worth the money!
Robin Cushing
U.S. Postal Service
Think you know Excel... wrong! Recommend to all, even if you are only looking for a refresher! Jump in and enjoy...
Jennifer Fox
NOAA Fisheries Alaska Region

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing


Students who have taken Instructor-led Training


Organizations who trust Webucator for their Instructor-led training needs


Satisfaction guarantee and retake option


Students rated our Node.js Software Development Training trainers 9.38 out of 10 based on 18 reviews

Contact Us or call 1-877-932-8228