这段代码是什么意思? (帕格模板引擎)

What does this bit of code mean? (Pug template engine)

有问题的代码是布局的一部分 here。如果有任何错误,此代码将显示错误。我不明白 != messages('message', locals) 在这种情况下的作用:

.container
  != messages('message', locals)
  if errors
    each error, i in errors
      div #{error.msg}
  1. 这里的!=是做什么的? (在 documentation 中它说它是未转义缓冲代码的序言 - 这在这里如何应用?
  2. messages('message', locals)是做什么的,locals是从哪里来的?

!= 意味着传递的字符串将不被转义。如果字符串有 html 标签,它们将被解释为 html 标签。所以语句blow

p != 'This is a <b>bold<b> statement!'

将呈现为

This is a bold statement


= 参数将对文本进行转义。其中 < 符号将更改为 &lt;> 将更改为 &gt;

p = 'This is a <b>bold<b> statement!'

将呈现为

This is a <b>bold<b> statement


Express 允许您存储可以在中间件之间传递的值。这些可以存储在 res.locals 对象中。此对象可作为变量 locals 供哈巴狗使用。

这里的语句messages('message', locals)好像是使用了可用的express-messages模块here

在 app.js 文件中,一个 express 中间件设置了 locals 变量,因此它可用于所有路由。

res.locals.messages = require('express-messages')(req, res);