Node.js Fundamentals

Learn Node.js from scratch including core concepts, modules, and basic server development.

beginner Backend Development 5 hours

Chapter 13: Basic Express.js

Chapter 13 of 15

Chapter 13: Basic Express.js

13.1 Express Setup

Express.js is a minimal web framework for Node.js. It simplifies server creation and routing.

// Install Express
// npm install express

// Basic Express app
const express = require('express');
const app = express();

// Define routes
app.get('/', (req, res) => {
    res.send('Hello World');
});

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

// Start server
app.listen(3000, () => {
    console.log('Server running on http://localhost:3000');
});

Express Features:

  • Simple routing
  • Middleware support
  • Template engines
  • Static file serving
  • Error handling

Basic Routing:

// GET request
app.get('/users', (req, res) => {
    res.json([{ id: 1, name: 'John' }]);
});

// POST request
app.post('/users', (req, res) => {
    // Handle POST data
    res.status(201).json({ success: true });
});

// PUT request
app.put('/users/:id', (req, res) => {
    const id = req.params.id;
    // Update user
    res.json({ id, updated: true });
});

// DELETE request
app.delete('/users/:id', (req, res) => {
    res.json({ deleted: true });
});

13.2 Middleware

Middleware functions execute during request processing.

// Custom middleware
app.use((req, res, next) => {
    console.log(`${req.method} ${req.url}`);
    next(); // Continue to next middleware
});

// Built-in middleware
app.use(express.json()); // Parse JSON bodies
app.use(express.urlencoded({ extended: true })); // Parse URL-encoded bodies

// Static files
app.use(express.static('public'));

13.3 Request and Response

Express provides enhanced request and response objects.

Request Object:

  • req.params: Route parameters
  • req.query: Query string parameters
  • req.body: Request body (with body parser)
  • req.headers: Request headers

Response Methods:

  • res.send(): Send response
  • res.json(): Send JSON response
  • res.status(): Set status code
  • res.redirect(): Redirect to URL

13.4 Express Best Practices

Follow best practices for Express applications.

  • Organize routes in separate files
  • Use middleware for common tasks
  • Handle errors with error middleware
  • Use environment variables for configuration
  • Validate request data
  • Set appropriate security headers