0Pricing
Node.js Backend Development Bootcamp · Lesson

Express.js Framework Fundamentals

Get started with Express.js, setting up a basic server and handling HTTP requests and responses.

Express.js Framework Fundamentals is a free Node.js Backend Development Bootcamp lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Node.js Backend Development Bootcamp learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Discover Express.js

Express.js is a minimal and flexible Node.js web application framework.

It provides a robust set of features for web and mobile applications.

Think of it as a toolkit that simplifies building powerful server-side applications with Node.js.

Benefits of Express.js

Express.js makes backend development faster and easier. Here's why:

  • Routing: Easily define how your app responds to different URLs.
  • Middleware: Add functions that process requests before they reach your routes.
  • Templating: Integrate with various templating engines for dynamic content.
  • Performance: It's lightweight and fast, built on Node.js's non-blocking I/O.

Initialize Your Node.js Project

Before installing Express, you need a Node.js project. We'll use npm init to create a package.json file.

This file tracks your project's metadata and dependencies.

Open your terminal in an empty folder and run:

npm init -y

The -y flag answers "yes" to all prompts, creating a default package.json.

Add Express to Your Project

Now that your project is set up, let's install Express.js. NPM (Node Package Manager) handles this for us.

Run the following command in your project's terminal:

npm install express

This command downloads Express and its dependencies, adding them to your node_modules folder and listing it in package.json.

Basic Server Setup

Every Express application starts by importing the Express module and creating an app instance.

This app object will be used to configure routes and start your server.

Let's see the basic structure:

const express = require('express');
const app = express();

Handling HTTP GET Requests

Routes determine how your application responds to client requests to a specific endpoint (URL) and HTTP method (like GET, POST).

For a basic web page, we often use GET requests to retrieve data.

The app.get() method takes two arguments: the path (e.g., '/' for the homepage) and a callback function.

app.get('/', (req, res) => {
  // Handle request and send response here
});

Responding to Requests

Inside your route's callback function, you get two objects: req (request) and res (response).

The res object has methods to send responses back to the client. The simplest is res.send().

It can send various types of responses, like HTML, JSON, or plain text.

app.get('/', (req, res) => {
  res.send('Hello from Express!');
});

Making Your App Listen

Finally, your Express app needs to listen for incoming requests on a specific port.

The app.listen() method binds the application to a port on the local host. A common port for development is 3000.

Once running, you can access your app in a browser at http://localhost:3000.

const PORT = 3000;
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

Run Your First Express App!

Here's a complete, runnable example of a basic Express server. Save this as app.js and run it with node app.js.

Then, visit http://localhost:3000 in your browser!

const express = require('express');
const app = express();
const PORT = 3000;

app.get('/', (req, res) => {
  res.send('Welcome to CoddyKit Express!');
});

app.listen(PORT, () => {
  console.log(`Server running on http://localhost:${PORT}`);
});

More Endpoints!

Your API won't just have one page! You can define multiple routes for different paths.

Each app.get(), app.post(), etc., creates a new endpoint.

Try adding an /about route to your app.js file.

app.get('/about', (req, res) => {
  res.send('This is the About page.');
});

Express Server Quiz

Consider the following Express.js code snippet:

const express = require('express');
const app = express();
const PORT = 5000;

app.get('/', (req, res) => {
  res.send('Home Page');
});

app.get('/api', (req, res) => {
  res.send({ message: 'API data' });
});

app.listen(PORT, () => {
  console.log(`Server started on port ${PORT}`);
});

Express.js Foundations

Great job! You've learned the fundamentals of Express.js:

  • What Express.js is and why it's useful.
  • How to set up a Node.js project and install Express.
  • Creating a basic Express application instance.
  • Defining routes with app.get().
  • Sending responses with res.send().
  • Starting your server with app.listen().

Next, we'll dive into more advanced routing and middleware concepts!

Frequently asked questions

Is the “Express.js Framework Fundamentals” lesson free?

Yes — the full text of “Express.js Framework Fundamentals” is free to read here on the web, and the Node.js Backend Development Bootcamp course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Node.js Backend Development Bootcamp course, upgrade to CoddyKit PRO.

What will I learn in “Express.js Framework Fundamentals”?

Get started with Express.js, setting up a basic server and handling HTTP requests and responses. You practise Node.js Backend Development Bootcamp with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Node.js Backend Development Bootcamp?

No prior experience is required. Node.js Backend Development Bootcamp on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Express.js Framework Fundamentals” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Node.js Backend Development Bootcamp lesson?

Yes. Every Node.js Backend Development Bootcamp lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Express.js Framework Fundamentals
  2. Routing & Middleware in Express
  3. Designing RESTful API Endpoints
  4. Handling Request Data: Body, Query & Params
← Back to Node.js Backend Development Bootcamp