bw-router

2.0.6 • Public • Published

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.

Readme

Keywords

Package Sidebar

Install

npm i bw-router

Weekly Downloads

2

Version

2.0.6

License

MIT

Last publish

Collaborators

  • nickfish
  • njam3
  • mattdesl
  • mikkoh