node package manager

routebeer

routebeer

A simple router for the browser best enjoyed with pjax

Some API Changes in version 0.1.8

Usage

var routebeer = require('routebeer')

var router = routebeer({
	always : function (data) { // run on every navigate
		console.log(data)
	},
	notFound : function (data) { // run on route not found
		console.log(data)
	},
	root : '/', // define optional base
	event : 'pjax:success' // run route check on event
})
.add({ // add a route
	name : 'project',
	path : '/projects/:project',
	load : function (r) { // run when navigating to route
		console.log(r) // r will contain route data, such as params
	},
	unload : function (r) { // run when navigating away from route
		console.log(r)
	}
})
.add({
	name : 'about',
	path : '/about',
	load : function (r) {
		console.log(r)
	},
	unload : function (r) {
		console.log(r)
	}
})
.add({
	name : 'home',
	path : '/',
	load : function (r) {
		console.log(r)
	},
	unload : function (r) {
		console.log(r)
	}
})
.navigate() // init

Path definition using path match

Remove

router.remove('home') // removes route

Events

router
	.on('load', function (r) {

	})
	.on('unload', function (r) {

	})

Bundled Version

If you don't want to mess with a build process you can also include the pre-bundled version found in routebeer.bundled.js in your project which exposes routebeer() globally.