Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Learn Node.js | Node.js Learn LearnAboutDownloadBlogDocsContributeCourses Start typing... ⌘ K NavigationGetting StartedIntroduction to Node.js How much JavaScript do you need to know to use Node.js? Differences between Node.js and the Browser The V8 JavaScript Engine An introduction to the npm package manager ECMAScript 2015 (ES6) and beyond Debugging Node.js Fetching data with Node.js WebSocket client with Node.js Node.js, the difference between development and production Profiling Node.js Applications Node.js with WebAssembly Security Best Practices Introduction to Userland Migrations Command LineRun Node.js scripts from the command line How to use the Node.js REPL Output to the command line using Node.js Accept input from the command line in Node.js How to read environment variables from Node.js HTTPAnatomy of an HTTP Transaction Enterprise Network Configuration Manipulating FilesNode.js file stats Node.js File Paths Reading files with Node.js Writing files with Node.js Working with file descriptors in Node.js Working with folders in Node.js How to work with Different Filesystems Asynchronous WorkJavaScript Asynchronous Programming and Callbacks Asynchronous flow control Discover Promises in Node.js Discover JavaScript Timers Overview of Blocking vs Non-Blocking The Node.js Event Loop The Node.js Event Emitter Understanding process.nextTick() Understanding setImmediate() Don't Block the Event Loop ConcurrencyComparing Node.js concurrency models TypeScriptIntroduction to TypeScript Running TypeScript Natively Running TypeScript code using transpilation Running TypeScript with a runner Publishing a TypeScript package ModulesHow to use streams Backpressuring in Streams Publishing a package How to publish a Node-API package ABI Stability DiagnosticsUser Journey MemoryOverview Understanding and Tuning Memory Using Heap Profiler Using Heap Snapshot Tracing garbage collection Live DebuggingOverview Using Inspector Poor PerformanceOverview Using Linux Perf Flame Graphs Test RunnerDiscovering Node.js's test runner Using Node.js's test runner Mocking in tests Collecting code coverage in Node.js Node-APIWhat is Node-API? Getting StartedOverview Pre-requisites Tools Anatomy of a Node-API project Your First Project Object Wrap Migrating to Node-API Build ToolsOverview node-gyp CMake.js node-pre-gyp Special TopicsOverview Context Awareness Object and Function References AsyncWorker Thread-Safe Functions Userland MigrationsAxios to WHATWG Fetch Chalk to util.styleText() Correct TypeScript Specifiers Mocha to Node.js Test Runner On this page Learn Node.js Welcome to the Node.js learning resources. Whether you're just getting started or looking to deepen your knowledge, these guides cover everything from the basics to advanced topics. Getting Started — Install Node.js and write your first program Command Line — Run scripts, use the REPL, and handle I/O HTTP — Build web servers and work with HTTP File System — Read, write, and manipulate files Asynchronous Work — Understand async patterns, promises, and the event loop Concurrency — Compare child processes, worker threads, and cluster TypeScript — Use TypeScript with Node.js Package Management — Publish and manage packages Diagnostics — Debug performance and memory issues Testing — Write and run tests with the built-in test runner Security — Follow security best practices Reading Time1 min readContributeEdit this page Copyright OpenJS Foundation and Node.js contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.OpenJS FoundationAI Coding Assistants PolicyBylawsCode of ConductCookie PolicyPrivacy PolicySecurity PolicyTerms of UseTrademark ListTrademark Policy