Structuring Large Apps with Express Router

🦁 Express.jsLesson 8Intermediate

As applications grow, keeping all routes in one file becomes unsustainable. Use the express.Router class to create modular, mountable route handlers.

1 Building Modular Route Files

Create a dedicated file for each module or feature area in your application:

JavaScript — routes/users.js
const express = require("express");
const router = express.Router();

// Defines base routes inside user router
router.get("/", (req, res) => {
  res.send("Get all users");
});

router.get("/:id", (req, res) => {
  res.send(`Get user profile for ${req.params.id}`);
});

module.exports = router;
JavaScript — server.js
const express = require("express");
const app = express();
const userRouter = require("./routes/users");

// Mount the router onto a specific prefix path
app.use("/api/v1/users", userRouter);
2 Code Challenge
Challenge: Create an api/posts.js Router module, configure standard endpoints for retrieving all blog posts, and mount the router at /api/v1/posts inside server config.