Performance: Route prefixing
Route prefixing affects the server's routing performance and response time by organizing routes efficiently.
const apiRouter = express.Router(); apiRouter.get('/users', handler1); apiRouter.get('/products', handler2); apiRouter.get('/orders', handler3); app.use('/api', apiRouter);
app.get('/api/users', handler1); app.get('/api/products', handler2); app.get('/api/orders', handler3);
| Pattern | Routing Checks | Middleware Calls | Response Time Impact | Verdict |
|---|---|---|---|---|
| Separate routes with repeated prefixes | Multiple prefix checks per route | Multiple middleware executions if duplicated | Higher latency due to redundant checks | [X] Bad |
| Route prefixing with express.Router() | Single prefix check for grouped routes | Middleware shared efficiently | Lower latency and faster routing | [OK] Good |
const express = require('express');
const app = express();
const router = express.Router();
router.get('/hello', (req, res) => {
res.send('Hello World');
});
app.use('/api', router);
const express = require('express');
const app = express();
const router = express.Router();
router.get('/test', (req, res) => {
res.send('Test route');
});
app.use(router, '/api');Pass the test and this pattern moves unknown