express.Router()

Creates a modular, mountable group of routes and middleware.

Since Express 4 Spec ↗

Syntax

const router = express.Router([options])

Parameters

NameTypeRequiredDescription
options object No `caseSensitive`, `strict`, `mergeParams` (inherit params from the parent router).

Returns

Router — A router instance with the same routing API as app.

Examples

// routes/users.js
import { Router } from 'express';

const router = Router();
router.get('/', (req, res) => res.json(listUsers()));
router.get('/:id', (req, res) => res.json(getUser(req.params.id)));
export default router;
// app.js
import usersRouter from './routes/users.js';

app.use('/api/users', usersRouter);
Output
$ curl localhost:3000/api/users/1
{"id":"1"}

Notes

Routers let you split a large app into feature modules mounted with `app.use(prefix, router)`. Paths inside the router are relative to the mount point. Use `mergeParams: true` to access params from a parent router (e.g. nested resources).

See also