Hierarchical (almost-declarative) routing for express.
npm i express-tree --save
var express = require('express');
require('express-tree');
var app = express();
app.tree({
'': function(req, res) { // => app.get('/', ...)
res.send('hello forest.')
},
login: 'login', // => res.render('login');
account: {
'': 'account/index', // => /account
register: 'account/register', // => /account/register
settings: [ logged, 'account/settings' ], // middleware works too!
},
// POST, PUT, and DELETE works like this. Not recommended, though.
'POST login': passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/login'
})
});