AI Workshop: learn to build apps with AI →
Core Concepts: The Node Core Modules

Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.


Node.js has a set of core modules that are part of the platform and come with the Node.js installation.

There are many of them:

NameDescription
assertprovides a set of assertion functions useful for testing
bufferprovides the ability to handle buffers containing binary data
child_processprovides the ability to spawn child processes
consoleprovides a simple debugging console
clusterallows splitting a Node.js process into multiple workers to take advantage of multi-core systems
cryptoprovides cryptographic functionality
dgramprovides an implementation of UDP Datagram sockets
dnsprovides name resolution and DNS lookups
eventsprovides an API for managing events
fsprovides an API for interacting with the file system
httpprovides an HTTP client/server implementation
http2provides an HTTP/2 client/server implementation
httpsprovides an HTTPS client/server implementation
netprovides an asynchronous network API
osprovides operating system-related utility methods and properties
pathprovides utilities for working with file and directory paths
perf_hooksenables the collection of performance metrics
processprovides information about, and control over, the current Node.js process
querystringprovides utilities for parsing and formatting URL query strings
readlineprovides an interface for reading data from a Readable stream
replprovides a Read-Eval-Print-Loop (REPL) implementation that is available both as a standalone program and can be included in other applications
streaman abstract interface for working with streaming data
string_decoderprovides an API for decoding Buffer objects into strings
timersprovides functions to schedule functions to be called at some future time
tlsprovides an implementation of the Transport Layer Security (TLS) and Secure Socket Layer (SSL) protocols
ttyprovides functionality used to perform I/O operations in a text terminal
urlprovides utilities for URL resolution and parsing
utilsupports the needs of Node.js internal APIs, useful for application and module developers as well
v8exposes APIs that are specific to the version of V8 built into the Node.js binary
vmenables compiling and running code within V8 Virtual Machine contexts
wasiprovides an implementation of the WebAssembly System Interface specification
workerenables the use of threads that execute JavaScript in parallel
zlibprovides compression functionality

For more detail, see the tutorials on

Lessons in this unit:

0: Introduction
1: ▶︎ The Node Core Modules
2: Differences between Node and the Browser
3: Node, the difference between development and production
4: The Node.js Event Loop
5: A brief history of Node.js
6: Understanding process.nextTick()
7: Understanding setImmediate()
8: How to check the current Node.js version at runtime
9: Why should you use Node.js in your next project?
10: Introduction to Node.js