houkou

Teeny tiny router for node and the browser

Houkou

Teeny tiny router for node and the browser

Houkou is a very simple (but surprisingly featureful) router written in JavaScript, targeted towards both Node.JS and the browser. It has no external dependencies and currently weighs in at just over a kilobyte uncompressed.

  1. Simple, clear syntax
  2. Named route parameters
  3. Custom parameter regexes
  4. Reverse routing (generate urls from routes)
  5. Fully tested (check test directory)
  • wham - "whimsical web framework"
  • contact me to get your package listed!

There's not much to be documented, fortunately! The example below should cover just about everything (seriously). There's some tests in the test directory as well if you want some more examples.

Code:

var Houkou = require("houkou");
 
// create a new route 
var route = new Houkou("/post/:id/:title", {requirements: {id: "[0-9]+"}});
 
// parse a url according to our route definition 
var params = route.match("/post/123/this-is-an-example-post");
 
// print it out all pretty-like 
console.log("Parsed:");
console.log(params);
console.log("");
 
// construct a url using our route as a template, filling in the variables with 
// those supplied 
var url = route.build(params);
 
// dump! 
console.log("Generated:");
console.log(url);
console.log("");

Output:

Parsed:
{ id: '123', title: 'this-is-an-example-post' }
 
Generated:
/post/123/this-is-an-example-post

3-clause BSD. A copy is included with the source.

  • GitHub (http://github.com/deoxxa)
  • Twitter (http://twitter.com/deoxxa)
  • Email (deoxxa@fknsrs.biz)