Script Valley
Node.js: The Complete Runtime
Express.js: Building REST APIsLesson 4.1

Express.js setup and routing fundamentals

express installation, app.get/post/put/delete, route parameters, query strings, request body parsing, app.use, Router, modular routing

Express Wraps Node's http Module

Express adds routing, middleware, and a cleaner API on top of Node's raw http module. Install it and create a server in under ten lines.

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

app.use(express.json());

app.get('/users/:id', (req, res) => {
  const { id } = req.params;
  const { fields } = req.query;
  res.json({ id, fields });
});

app.post('/users', (req, res) => {
  const { name, email } = req.body;
  res.status(201).json({ id: Date.now(), name, email });
});

app.listen(3000, () => console.log('Running on :3000'));

Modular Routing with express.Router

// routes/users.js
const router = require('express').Router();
router.get('/', (req, res) => res.json({ users: [] }));
router.post('/', (req, res) => res.status(201).json(req.body));
module.exports = router;

// app.js
const userRoutes = require('./routes/users');
app.use('/api/users', userRoutes);

Use Router to group related routes into separate files. This keeps app.js clean and routes testable in isolation.

Up next

Express middleware: how it works and how to write your own

Sign in to track progress