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
更改为