Skip to main content
Node.js APIs Tutorial
CHAPTER 01 Beginner

Introduction to Express.js

Updated: May 14, 2026
15 min read

# CHAPTER 1

Introduction to Express.js

1. Introduction

Welcome to Express.js! When Node.js was released, it allowed developers to write backend server code using JavaScript. However, building web servers using the pure, built-in Node.js http module is incredibly tedious. You have to manually parse URLs, extract data streams, and manage HTTP headers by hand. To solve this, developers created Express.js. Express is a fast, unopinionated, minimalist web framework for Node.js. It acts as a powerful wrapper around the raw Node.js code, making routing and request handling effortless. Today, it is the most popular Node.js framework in the world.

2. Learning Objectives

By the end of this chapter, you will be able to:
  • Define what Express.js is and its relationship to Node.js.
  • Understand the primary features that make Express popular.
  • Differentiate between a Node.js runtime and an Express.js framework.
  • Recognize real-world applications powered by Express.

3. Beginner-Friendly Explanation

Imagine building a house (a web server). Node.js gives you the raw materials: logs of wood, raw iron, and sand. You *can* build a house with these, but you have to forge the nails and cut the wood yourself. It takes forever. Express.js is a team of contractors who bring pre-cut wood, pre-forged nails, and power tools. They don't change *what* the house is made of (it is still JavaScript), but they provide the tools to build it 100 times faster. Express gives you shortcuts to route traffic, handle data, and send responses without writing complex boilerplate code.

4. What is Express.js?

Express is technically just an NPM package (npm install express). It sits on top of Node.js and abstracts away the difficult parts of server management. Because it is "unopinionated," it does not force you to use a specific database or a specific folder structure. It gives you the canvas and the paint, and lets you paint however you want.

5. Why Use Express.js?

  • Fast Routing: Easily route URLs (like /about or /api/users) to specific blocks of code.
  • Middleware Support: Easily inject functions to modify requests (like checking if a user is logged in) before they reach your main logic.
  • JSON Handling: Automatically parses incoming JSON data from mobile apps and React frontends.
  • Vast Ecosystem: Because it is the industry standard, almost every database (MongoDB, MySQL) and authentication tool has built-in support for Express.

6. Real-World Applications

When do companies use Express?
  • REST APIs: Serving JSON data to iOS, Android, and React applications. (e.g., Uber's backend dispatch system).
  • Single Page Applications (SPAs): Providing the backend infrastructure for modern web apps.
  • Real-Time Applications: Powering the HTTP foundation for WebSocket chat applications (e.g., Slack).

7. Mini Project: Visualizing an Express App

While we will set up the environment in the next chapter, look at how simple a complete Express web server is:
javascript
123456789101112131415
// 1. Import the Express framework
const express = require('express');

// 2. Initialize the application
const app = express();

// 3. Define a Route: When a user visits the homepage ('/'), run this function
app.get('/', (req, res) => {
    res.send('Welcome to Express.js');
});

// 4. Turn on the server on Port 3000
app.listen(3000, () => {
    console.log("Server is running!");
});

*In just 5 lines of code, you have a fully functional web server. Doing this in pure Node.js would take significantly more code.*

8. Backend Workflow: Node vs Express

It is crucial to understand that Express *is* Node.js. When you use the res.send() method in Express, behind the scenes, Express is actually taking your text, calculating the exact byte length, setting the correct HTTP Headers, and calling the raw Node.js res.end() method for you. It is a layer of abstraction designed purely for developer experience (DX).

9. Best Practices

  • Embrace Asynchronous Code: Because Express runs on Node.js, it uses the single-threaded Event Loop. You must always use modern async/await syntax when dealing with databases inside your Express routes to prevent the server from freezing.

10. Common Mistakes

  • Confusing Node and Express: Beginners often ask, "Should I learn Node.js or Express.js?" You cannot learn Express without knowing Node.js. Express is simply a tool *used inside* a Node.js environment.

11. Exercises

  1. 1. Explain the "House Building" analogy. What does Node represent, and what does Express represent?

12. Coding Challenges

  • Challenge: Look at the Mini Project code. Conceptually, how would you add a second route so that if a user visits /contact, the server sends back the text "Contact Us"? Write out the theoretical app.get() block.

13. MCQs with Answers

Question 1

What is Express.js?

Question 2

Which of the following is NOT a primary feature of Express.js?

14. Interview Questions

  • Q: What does it mean when developers say Express.js is an "unopinionated" framework? How does this contrast with a framework like Angular or Laravel?
  • Q: Explain the relationship between Node.js and Express.js. Could you build an API without Express?

15. FAQs

Q: Do I need to master pure Node.js http modules before learning Express? A: No. While it is good to understand how raw Node.js works, 99% of modern backend JavaScript developers build applications using Express or a similar framework. You can jump straight into Express.

16. Summary

In Chapter 1, we introduced Express.js, the most popular web framework in the Node ecosystem. We learned that Express acts as a powerful layer of abstraction over raw Node.js, providing developer-friendly tools for routing, middleware, and request handling. By reducing boilerplate code, Express allows backend developers to rapidly architect robust REST APIs and web servers.

17. Next Chapter Recommendation

To write code, we need to prepare our computer. Proceed to Chapter 2: Setting Up Node.js and Express.js Environment.

Finish this Chapter

Save your progress on your learning path and prepare for coding interview challenges.

Discussion

Join the discussion

Log in or create a free account to participate.

Sort: ·