刚入坑express的时候,这个res.locals看的还是比较多的 它是实现了页面和路由之间的传惨
这个页面其实又可以叫做 模板
不同的是 res是针对当前请求的 app.locals是对于整个应用来说的
router.get('/', function(req, res, next) {
res.locals.name="hello world"
res.render('index', { title: 'Express' });
});
在模板引擎中 这里使用ejs模板引擎
<h1><%= title %> <%=name %></h1>
确实把hello world 渲染到页面中了
其实可以整合到一起 的 上面的和下面的是等效的
res.render('index', { title: 'Express',name:"hello world" });
还有一个就是挂载app上的 这个表示全局所有的模板都可以访问到的
app.locals.age=23;
随便找个模板看看
<h1>年龄是:<%=age %></h1>
也确实吧数据渲染到模板中了额
工作中经常会把 这些页面中公共的变量部分 使用res.locals 进行抽离 集中管理 方便统一发送给前台模板中