-
res.render(tplName, ctx)
传参方式2:res.locals
-
设置模板页layout
如果不设置模板页,则默认使用layout.hbs
如果要设置特定模板页,需设置layout上下文
-
中间件:对请求、响应对象进行预处理函数
中间件函数签名:function(req,res,next){}
执行完处理逻辑后,必须执行next(),否则处理中断了
中间件是线性的,从上往下依次执行
路由是特殊的中间件,前面设置地址,只有在遇到地址时才起作用
注册中间件app.use([url],middleware)
-
路由传参
方式1: 定义占位符 /:id 获取req.params.id
方式2:查询参 获取req.query.xx
方式3:请求体 获取 req.body
-
错误处理:
常见方式1:next(new Error('错误信息'))
常见方式2:重定向,res.redirect([statuscode], path) **path填写完整路由地址
-
模板引擎:Handlebars
插值绑定 {{prop}}
注释 {{! content}}
HTML内容 {{{htmlStr}}}
条件语句 {{#if condition}}...{{/if}}
** condition只能是布尔值或者可以转换为布尔值的值,他不能是表达式
** 可以结合{{else if condition}}、{{else}}使用
循环语句 {{#each arr}}....{{/each}}
** each可嵌套
** 使用this或者.表示上下文,常用语数据是值的情况
** 使用@index,@key
** 遍历对象 @key
** 结合{{else}},当数组为空时显示特别信息