Chapter 16. Server-Side JavaScript with Node
16.1 Node Programming Basics
16.1.1 Console Output
16.1.2 Command-Line Arguments and Environment Variables
16.1.3 Program Life Cycle
16.1.4 Node Modules
16.1.5 The Node Package Manager
16.2 Node Is Asynchronous by Default
16.3 Buffers
16.4 Events and EventEmitter
16.5 Streams
16.5.1 Pipes
16.5.2 Asynchronous Iteration
16.5.3 Writing to Streams and Handling Backpressure
16.5.4 Reading Streams with Events
16.6 Process, CPU, and Operating System Details
16.7 Working with Files
16.7.1 Paths, File Descriptors, and FileHandles
16.7.2 Reading Files
16.7.3 Writing Files
16.7.4 File Operations
16.7.5 File Metadata
16.7.6 Working with Directories
16.8 HTTP Clients and Servers
16.9 Non-HTTP Network Servers and Clients
16.10 Working with Child Processes
16.10.1 execSync() and execFileSync()
16.10.2 exec() and execFile()
16.10.3 spawn()
16.10.4 fork()
16.11 Worker Threads
16.11.1 Creating Workers and Passing Messages
16.11.2 The Worker Execution Environment
16.11.3 Communication Channels and MessagePorts
16.11.4 Transferring MessagePorts and Typed Arrays
16.11.5 Sharing Typed Arrays Between Threads