Introduction Introduction to Node A brief history of Node How to install Node How much JavaScript do you need to know to use Node? Differences between Node and the Browser v8 Basics Run Node.js scripts from the command line How to exit from a Node.js program How to read environment variables Node hosting options Command Line Use the Node REPL Pass arguments from the command line Output to the command line Accept input from the command line Node modules and npm Expose functionality from a Node file using exports npm Where does npm install the packages How to use or execute a package installed using npm The package.json file The package-lock.json file Find the installed version of an npm package How to install an older version of an npm package How to update all the Node dependencies to their latest version Semantic versioning rules Uninstalling npm packages Global or local packages npm dependencies and devDependencies npx Working with the event loop The event loop nextTick setImmediate Timers Asynchronous programming Callbacks Promises async/await The Node Event Emitter Networking HTTP How HTTP Requests work Build an HTTP server Making HTTP requests Axios Websockets HTTPS, secure connections File System File descriptors File stats File paths Reading files Writing files Working with folders Some essential core modules The fs module The path module The os module The events module The http module Miscellaneous Streams Working with MySQL Difference between development and production