Structuring Large Apps with Express Router
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.