wayfarer
Modular trie based based router. Works best with
Browserify.
Installation
$ npm install wayfarer
Usage
const wayfarer = require('wayfarer')
const router = wayfarer({ default: '/404' })
router.on('/', () => console.log('/'))
router.on('/404', () => console.log('/404'))
router.on('/:user', () => console.log('/user'))
router.match('/tobi')
API
wayfarer(opts)
Initialize wayfarer with options. default
allows setting a default path
to match if none other match. Ignores query strings.
const router = wayfarer({ default: '/404' })
.on(path, cb)
Register a new path. Wayfarer uses a trie to match routes, so the order in
which routes are registered does not matter.
router.on('/', () => console.log('do stuff'))
router.on('/:user', () => console.log('do user stuff'))
Partial paths are supported through the /:
operator, and the callback
provides a param object. With a route like /:user
if you navigated to
/somename
, you'd get a param object like this: { user: 'somename' }
.
router.on('/:user', (param) => console.log('do user stuff', param.user))
.match(path)
Match a path against the saved paths in the router. If a match is
found the registered callback will be executed.
router.match('/tobi')
See Also
License
MIT