在express中可以通过locals属性向view中传值,比如设置一个sitename属性,有几种方式:
app.locals.xxx = '';
通常用来设置全局公共属性和方法,例如网站域名- 在middleware中设置
res.locals.sitename = 'CNode';
通常用来设置和请求相关的属性和方法,例如判断请求是否来自移动端的isMobile - 在返回视图前设置
res.render('index',{sitename:'CNode'};
通常用来设置具体业务数据,例如帖子列表数据 这三种方式最终会合并后传给视图引擎。 合并时,同名的属性或方法会被覆盖,经测试优先级是: 3>2>1
刚接触express,可能理解的不够全面,还请大家补充。