Express.js FundamentalsLesson 1.5
Express Router โ how to split routes into separate files
express.Router, router instance, router.get router.post, app.use prefix, modular routing, require router file, route organization
Modular Routing with Express.Router
express.Router() creates a mini Express app โ it has the same routing methods but is scoped to a file. You mount it on a path prefix in your main app.
routes/users.js
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.json([{ id: 1, name: 'Alice' }]);
});
router.get('/:id', (req, res) => {
res.json({ id: req.params.id });
});
router.post('/', (req, res) => {
res.status(201).json(req.body);
});
module.exports = router;app.js
const express = require('express');
const app = express();
const usersRouter = require('./routes/users');
app.use(express.json());
app.use('/users', usersRouter);
app.listen(3000);When you mount usersRouter at /users, the router's / becomes /users and its /:id becomes /users/:id. The prefix is prepended automatically.
Scale this pattern: one router file per resource (users.js, products.js, orders.js). Your app.js stays clean โ it only mounts routers and global middleware.
