After learning about hapi's server.route()
API and configuration object, you may have found yourself curious as to how is it possible to add all these routes, in a manner that allows to you to keep your codebase manageable. You may have the following questions in mind:
Is it possible to have a route conflict?
How are routes prioritized and mapped to a request?
Is the order in which we register a route relevant?
Don't worry if you didn't have these questions, you'll have them soon enough. But let's answer them now.
hapi is one of the few frameworks in Node that have deterministic routing. Each request can only map to one route, and its routing table will be the same every time you start the server. This was one of the things that appealed to me initially, when I started working with Node and was researching Node frameworks in depth. As the application size and teams grow, routing conflicts become more of a concern, and I wanted to future-proof my work by starting with a...