page.js
Micro client-side router inspired by the Express router
...Use this if you need to control multiple windows (like iframes or popups) in addition to the main window. The router uses the same string-to-regexp conversion that Express does, so things like ":id", ":id?", and "*" work as you might expect.