Javascript 从Pug中的字符串插入新行

Javascript 从Pug中的字符串插入新行,javascript,pug,nodemailer,Javascript,Pug,Nodemailer,我正在NodeJS服务器中使用pug和nodemailer来处理电子邮件模板 在我的例子中,locals对象中有以下对象 { 发件人:'abc@xyz.com', 消息:“a\nb\nc\nd\ne”, } 现在在pug文件中,我有下面一行 p#{message} 问题是,在电子邮件中,我没有收到带有新行的文本 消息字段忽略\n并将所有内容放在同一行a b c d e 我需要在页面中获取文本,并在对象中使用新行 a b c d e 这个问题的解决方案是什么?HTML不使用\n换行符-它使用

我正在
NodeJS
服务器中使用
pug
nodemailer
来处理电子邮件模板

在我的例子中,
locals
对象中有以下对象

{
发件人:'abc@xyz.com',
消息:“a\nb\nc\nd\ne”,
}
现在在
pug
文件中,我有下面一行

p#{message}
问题是,在电子邮件中,我没有收到带有新行的文本

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

我需要在页面中获取文本,并在对象中使用新行

a
b
c
d
e

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

HTML不使用
\n
换行符-它使用break

元素。将您的
消息更改为:

message: "a<br>b<br>c<br>d<br>e"
消息:“a
b
c
d
e”
据我所知,
标记忽略了预格式化,是否可以尝试改用

section
  each line in message.split('\n') 
    p #{line}

pre#{message}

如果您想对每个段落使用
而不是

<section>
  <p>a</p>
  <p>b</p>
  <p>c</p>
  <p>d</p>
  <p>e</p>
</section>
这将导致:


a

b

c

d

e


这假设
a
b
c
等。在您的示例中,实际上是您缩短的文本块,以创建一个快速示例。

您创建的是HTML,它忽略了
\n
。您需要改用

。或者使用
而不是
。或者使用我已将对象更改为您的示例,但我得到了与电子邮件模板中显示的内容完全相同的
a
b
c
d
e
。将
p
更改为
pre
的解决方案有效,无需将
\n
更改为