Express - 模板引擎

发布时间 2023-08-20 13:05:00作者: OrzMiku

在使用模板引擎之前,需要设置模板目录,指定模板引擎。

  • views:模板文件所在目录。例如:app.set('views', './views')
  • view engine:要使用的模板引擎。例如:app.set('view engine', 'pug')

设置好模板引擎之后,需要使用包管理器安装对应的模板引擎。

npm install pug --save

下面以pug引擎为例。假设app.set('views', './views')app.set('view engine', 'pug')且已安装pug。
创建views文件夹,新建一个index.pug文件,写入下面内容:

html
  head
    title= title
  body
    h1= message

然后创建路由,使用res的render方法渲染模板。render方法可以接受三个参数,view, locals和callback。
view指定要渲染的模板文件。
locals是一个对象,用于定义模板内需要使用的局部变量。
callback,一个回调函数。如果提供,该方法将返回可能的错误和呈现的字符串,但不执行自动响应。当发生错误时,该方法在内部调用next(err)。
后两者是可选的。

app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!'});
});
// html是渲染后的HTMl字符串
res.render('index', function (err, html) {
  res.send(html)
})

// 向模板传入变量
res.render('user', { name: 'Tobi' }, function (err, html) {
  // ...
})