Can I mix app-level routing and Express Router?
Yes, but it gets messy. Pick one approach. If you have more than a few routes, use Router for all of them. Mixing makes the codebase inconsistent and harder to navigate.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in Express Router vs App-Level Routing: When to Use Each
When you have more than ~10 routes, multiple features (auth, users, posts), or multiple developers. App-level routing is fine for tiny apps and prototypes; switch to Router when the app grows.
Create a router per feature in routes/. Move routes into the router. Mount the router in app.js with app.use('/users', require('./routes/users')). Benefits: separation, per-router middlewares, cleaner app.js.
Separation of concerns (each feature has its own file), per-router middlewares (auth for a feature without repeating per route), cleaner app.js, team scalability (different devs work on different routers), and reusability (mount the same router under different paths).
Still have questions?
Browse all our FAQs or reach out to our support team
