从 Pug 中的字符串插入新行

Sab*_*bin 2 javascript nodemailer pug

我在 NodeJS 服务器中使用 Pug 和 Nodemailer 来处理电子邮件模板。

locals就我而言,对象中有以下对象

{
    from: 'abc@xyz.com',
    message: 'a\nb\nc\nd\ne',
}
Run Code Online (Sandbox Code Playgroud)

现在在 Pug 文件中我有以下行

p #{message}
Run Code Online (Sandbox Code Playgroud)

问题是在电子邮件中我没有收到带有新行的文本。

消息归档忽略\n并将所有内容放在同一行a b c d e

我需要使用对象中的新行获取页面中的文本。

a
b
c
d
e
Run Code Online (Sandbox Code Playgroud)

这个问题的解决方案是什么?

小智 5

据我所知,<p>标签忽略预格式化,也许尝试使用<pre>

pre #{message}


Sea*_*ean 5

如果你想对每个段落使用 a<p>而不是 a,<pre>你可以在 Pug 中将每个换行符转换为一个新段落:

section
  each line in message.split('\n') 
    p #{line}
Run Code Online (Sandbox Code Playgroud)

这将呈现:

<section>
  <p>a</p>
  <p>b</p>
  <p>c</p>
  <p>d</p>
  <p>e</p>
</section>
Run Code Online (Sandbox Code Playgroud)

这假设您的示例中的a、、 等实际上是您为了创建快速示例而缩短的文本块bc