router-express
Install
npm install --save router-express
Basic usage
var express = var routerExpress = var app = var routes = name: 'homepage' url: '/' module: 'static/home' name: 'contact' url: '/contact-us' module: 'static/contact' globalRouter = routesRouter
Modules structure
modules/
static/
home/
index.js
contact/
index.js
Module file
// modules/static/home/index.jsmodule { return res}
URL methods
var example = Router // -> /contact-us?foo=barvar another = Router // -> /contact-us
Advanced usage
Access routes
When you create your new RouterExpress instance, you can access all the routes via
Routerroutes
List of route parameters
actionFile: // @alias module lastOrder: modulesDir: // @default `path.join(__dirname, 'modules')` method: // @default 'get' module: // @alias actionFile name: order: params: // @default {} regexUrl: // @reverts to url regexParams: url:
Fetch route files automatically
Put your routes.json
or routes.js
files in every folder in your modules
folder, then you can fetch all your routes and merge them with
var RouterExpress = var routes = RouterExpress// or for your custom modules directory:var routes = RouterExpress
Features
- Get a route by its name (
route.name
) and access its properties - Create a url for a route by its name (
route.name
) - reverse routing - Update a url via providing parameters
- Inject/update parameters of a url defined in regex (
regexUrl
,regexParams
) - Combine all request parameters to
res.params
container - Set default parameter values of
res.params
by defining them onroute.params.
- Access request's route object in action via
res.params.route
- Middleware function support before route action is called