如何在 Express 中始终传递 'render' 参数
How to always pass 'render' parameters in Express
我正在构建一个网站,其中一些参数需要传递给加载的每个页面的前端(即在每个页面上的导航栏中使用的文本)。目前我只是在每个 render
行中包含所有参数,但我想知道是否有更有效的方法(例如在中间件中)。以下两个参数在每个 render
.
中使用
return res.render('index', {
docTitle: i18n.__('home'),
isLoggedIn: req.session.isLoggedIn,
})
您可以创建自己的渲染函数,在其中设置默认值并委托给 res.render
:
const customResRender = (req, res, page, params = {}) =>
res.render(page, {
docTitle: i18n.__('home'),
isLoggedIn: req.session.isLoggedIn,
...params
});
然后,用它代替res.render
:
app.get("/someHandler", (req, res) => {
// ...
customResRender(req, res, "index");
});
我正在构建一个网站,其中一些参数需要传递给加载的每个页面的前端(即在每个页面上的导航栏中使用的文本)。目前我只是在每个 render
行中包含所有参数,但我想知道是否有更有效的方法(例如在中间件中)。以下两个参数在每个 render
.
return res.render('index', {
docTitle: i18n.__('home'),
isLoggedIn: req.session.isLoggedIn,
})
您可以创建自己的渲染函数,在其中设置默认值并委托给 res.render
:
const customResRender = (req, res, page, params = {}) =>
res.render(page, {
docTitle: i18n.__('home'),
isLoggedIn: req.session.isLoggedIn,
...params
});
然后,用它代替res.render
:
app.get("/someHandler", (req, res) => {
// ...
customResRender(req, res, "index");
});