app.use((req, res, next) => {
let a = app._router.stack.length-1
console.log(app._router.stack[a].route)
next()
})
app.get('/path/:id', function(req, res, next) {
res.send(`${this.method} ${this.path}`)
})
Допустим запрашиваем страницу <code>/user/5af2fe6cc7a7631ae040db43</code>
// Moongose
var Routes = mongoose.model('Routes', RoutesSchema);
app.use((req, res, next) => {
//Получаем информацию о маршруте из бд
Routes.find({'path' : req.originalUrl}, (err, pageInfo) => {
// Если документ не найден
if(pageInfo == null) {
var search = req.originalUrl.split('/');
search.splice(-1,1,':');
search = search.join('/');
// serach = /user/:
Routes.findOne({'path' : {$regex: search}}, function(err, pageInfo) {
// Устанавливаем локальные переменные ответа
res.locals.title = pageInfo.title;
res.locals.description = pageInfo.description;
next()
})
}
// Если все ок
else {
// Устанавливаем локальные переменные ответа
res.locals.title = pageInfo.title
res.locals.description= pageInfo.description
next()
}
})
})
res.locals.title
и res.locals.description
/foo, /bar
- статические, а вот /foo/:id, /bar/:id
- динамические