javascript - 自动将参数传递给 res.render nodejs

标签 javascript node.js express

说我想在我的 route 排除或包含布局参数,但我有超过 50 条路线,我必须对每个 res.render 都这样做。

if(req.headers['something']){
  res.render('index',{'layout':false})
}else{
  res.render('index')
}

当某些路由必须传递其他参数时,这很痛苦。有什么办法可以使用中间件来解决这个问题吗?

router.use(function(req,res,next){
    console.log(req.headers['something']);
   // if true auto add layout object to every single res.render()
    next();
});

最佳答案

您可以使用 res.locals使 layout 在所有模板中可用的变量

router.use(function(req, res, next){
  if ( req.headers['something'] ) {
      res.locals.layout = false;
  }
  next();
});

关于javascript - 自动将参数传递给 res.render nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34965677/

相关文章:

与大写字母相关的Javascript正则表达式无限循环

javascript - jQuery 从它自己的(自身)链接获取查询字符串

node.js - 使用 npm 安装 v8-profiler

javascript - 变量不是 channel 对象

node.js - Mocha Chai 测试 protected 路线

node.js - nodejs-express - 在主数据库上实现 Redis 缓存作为 mongodb

javascript - Bootstrap datepicker 数据与 Angular 4 的绑定(bind)不起作用

javascript - React-table 全选选择框

node.js - 无法将 redis 服务器与 express node js 应用程序集成

javascript - 如何在nodejs中实现passportjs中的用户角色