bw-router
will allow you to create routes and associate them with a value/object. These values are called
sections as this router was originally designed for bigwheel.
If the this module is running in the browser it will use window.location.hash
to evaluate routes. If it's not
running in an environment where window.location
exists then it will be ignored.
var bwRouter = require( 'bw-router' );
var router = bwRouter( {
'/': { name: 'landing section' }, // this is the root route and will be opened right away after init
'/about': { section: { name: 'about section' }, useURL: false }, // a settings object can be passed
// instead of a section object.
// `useURL` ensures that this route
// cannot be entered via hash changes
'/gallery/:image': { name: 'gallery' }, // routes can be defined with parameters for more info visit:
// https://www.npmjs.com/package/routes
'/someRedirect': '/about', // redirects can be created
'404': { name: '404' } // 404 can be defined which will always evaluate if the route is not matched,
postHash: '!' // Defines what prefixes the routes
pushState: true, // Whether to use the history api or not
});
router.init(); // calling init will start resolving routes
router.go( '/gallery/10' ); // calling go will cause the router to evaluate
router.go( '/gallery/10', {silent: true} ); // will not trigger a section change, useful for scrolling sites
router.destroy(); // will destroy the router
MIT, see LICENSE for details.