1.0.0 • Published 9 years ago
no-frills-router v1.0.0
no-frills-router
A simple router used in a few of my isomorphic experiments.
Installation
npm install --save no-frills-router
Usage
var nfr = require('no-frills-router');
var http = require('http');
var router = nfr()
.map('index', '/', require('./lib/home'))
.map('profile', '/user/:username', require('./lib/profile'))
.map('*', require('./lib/not-found'), {status: 404})
;
http.createServer(function(req, res) {
//match a URL to a handler
var match = router.match(req.url);
res.status = match.status || 200;
res.end(match.handler(match, router));
}).listen(3001);
API
new Router()
Create a new router.
.map(name : string, pattern : string, handler : mixed , data : object)
Map a URL pattern to a handler.
Parameters:
[name]
- the route name - used for the.assemble()
methodpattern
- a pattern - see path-to-regex for detailshandler
- a function, object, react component or whatever you want[data]
- any other data you want to access when the route is matched
.match(url : string) : object|null
Match a URL to a handler.
Parameters:
url
- the URL
Returns:
name
- the route nameparams
- the route paramshandler
- the route handler...
- the other data you passed to the.route()
method
.assemble(name : string , params : Object) : string|null
Assemble a URL for a handler.
name
- the route nameparams
- the route parameters
License
The MIT License (MIT)
Copyright (c) 2015 James Newell