Node.js is a program that lets JavaScript run on a computer or server instead of only inside a web browser. Ryan Dahl released it in 2009. It is used to write web servers and APIs, and it also runs most of the tools developers use to build websites.
How Node.js runs code
Node takes Google's V8 JavaScript engine, the one inside Chrome, and adds what a server needs: access to files, network connections, timers and processes. Its defining design is non-blocking input and output. When code asks for something slow, such as a database row or a file, Node does not sit and wait; it registers a callback or promise and keeps handling other requests on its event loop until the answer arrives.
That makes one Node process good at juggling many simultaneous connections that mostly wait on other systems, like chat apps or APIs. It is less suited to heavy number crunching on the main thread, which blocks everyone else until it finishes. Packages are installed through npm, which ships with Node. Even-numbered releases become long-term support (LTS) versions, which is what production servers should run.
An example: a contact form backend
A landscaping company's site posts its quote form to /api/quote. A small Node.js handler checks the fields, stores the request in a database, emails the owner and returns a confirmation. The same handler might run on a traditional server or as a serverless function that only runs when a form arrives.
Where small-business owners meet Node.js
You will meet it indirectly. Many hosts list a Node version in their settings, exported projects need Node installed to build or run locally, and quotes from developers may mention a Node backend. If a host warns that your Node version is reaching end of life, take it seriously: unsupported versions stop receiving security fixes.
Common Node.js mistakes
- Running an end-of-life version. Check the official release schedule and stay on a supported LTS line.
- Blocking the event loop with large synchronous work, which stalls every visitor at once.
- Unhandled promise rejections. In current versions these can crash the process.
- Committing secrets. Keep API keys in environment variables, not in the code.
- Installing packages without checking them. Every dependency is code that runs on your server.
Related terms
- npm: Node's package manager.
- Backend: the server-side layer Node is often used for.
- API: a common thing to build with Node.
- Serverless: a way to run Node code without managing servers.