Why is routing so complex?
medium.com
medium.com
And I don't believe we're saving ourselves any real complexity by creating standardized API for prefixes and such. The cost of having to type /posts/new and /posts/favorite seems like a small price to pay for a dramatic improvement in clarity and decrease in router complexity.
Some programmers take DRY way too far.
It also allows you to do really cool stuff like in their recursive routing example [2].
For client side routing, I use page (https://www.npmjs.com/package/page), which is a tiny client-side router that supports pushState and has an almost identical API as express.
There are lots of people and frameworks who try to overcomplicate this problem when its really just another pattern of inversion of control.
This is the first time I'm hearing about `page`. I'll check it out.