自动将parameter passing给res.render nodejs

说我想排除或包括布局参数到我的路线,但我有超过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.localsvariables在所有模板中使layout可用

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