Nearby lessons

13 of 14

🔀 Router-Level Middleware in Express JS | Beginner-Friendly Guide

📌 What is Router-Level Middleware?

💡 What Is Router-Level Middleware?

Router-level middleware works exactly like application-level middleware, but it is applied only to routes defined under a specific express.Router() instance.

This helps organize your project by grouping related routes and applying middleware only where needed.

⚙️ Step 1: Understanding Router-Level Middleware

Router-level middleware is attached to a specific router object instead of the entire Express application.

This means the middleware will run only for routes handled by that router.

📁 Step 2: Router-Level Middleware Example (index.js)

Below is a complete example demonstrating router middleware, router routes, and prefix usage.

Express.js Server
NODE RUNTIME
const express = require('express');
const cors = require('cors');
const app = express();
const router = express.Router();

app.use(cors());

// Router-level middleware
router.use((req, res, next) => {
    console.log('Router-level middleware executed');
    next();
});

// Routes using this router
router.get('/', (req, res) => {
    res.send('Router Home Page');
});

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

// Use the router with a prefix
app.use('/test', router);

// Root route to guide user
app.get('/', (req, res) => {
    res.send('<h1>Router-Level Middleware Tutorial</h1><p>Go to <a href="/test">/test</a> to see the router in action.</p>');
});

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

Browser Output
Server logs

📘 How It Works

  • 🔀 express.Router() creates a mini Express instance for grouping routes.
  • ⚙️ router.use() applies middleware to all routes in this router.
  • 🧭 The router is used with a prefix using app.use('/test', router).
  • 📌 Now all routes inside this router become:
    • /test/
    • /test/about
  • 📝 Middleware runs only for routes starting with /test.

🧠 Test Your Knowledge

5 Questions

Progress: 0 / 5
Keep Going!Error Handling Middleware