遵循@deceze建议。我最终使用了一个中间件,它附加了一个闭包,如下所示
const makeRenderer = (req, res, next) => {
res.locals.renderer = (data, kind, route) => renderer(req, res, data, kind, route)
next()
}
router.get('/', makeRenderer, async function (req, res, next) {
const listings = await mongoQueries.getDocumentsSince(
20, '', req.body.pagination)
const { page, perPage } = req.body.pagination
const data = {
listings: listings.documents,
addressPoints: [],
current: page,
pages: Math.ceil(listings.count / perPage)
}
res.locals.renderer(data, 'listings', 'listings')
})