Conductor is highly configurable routing middleware for Connect.
Some contrived examples:
{
routes: {
'/': '/path/to/route/to', // static routing
'/assets/css/*path': '/dist/css/[path]', // wildcard routes
'/api/:version/*path': '/api/v[version]/[path]', // named routes
'/assets/js/*path': '/dist/[site]/js/[path]', // `site` routekey usage
'/sites/:site/*path': '/[site]/[path]' // the `site` placeholder in the request takes precedence over routekeys
}
// can be overridden for individual requests
routekeys: {
'site': function (request) {
return 'mysite';
}
}
}
// gruntfile definitions
connect: {
options: {
middleware: function (connect, options) {
return [
require('connect-conductor').route(options),
// other middleware
]
},
routes: {
// define routes
},
routekeys: {
// define route keys
}
}
}