node package manager
Orgs are free. Discover, share, and reuse code in your team. Create a free org »

bw-router

bw-router

unstable

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.

Usage

NPM

Example

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 

License

MIT, see LICENSE for details.