[英]Interpolate new line from string in Pug
我使用pug
与nodemailer
中NodeJS
服务器来处理电子邮件模板。
在我的情况下,我在locals
对象中有以下对象
{
from: 'abc@xyz.com',
message: 'a\nb\nc\nd\ne',
}
现在在pug
文件中,我有以下行
p #{message}
问题是在电子邮件中我没有收到带有新行的文本。
提交的消息忽略\\n
并将所有内容放在同一行abcde
我需要使用新行获取页面中的文本,就像它在对象中一样。
a
b
c
d
e
这个问题的解决方案是什么?
据我所知, <p>
标签忽略预格式化,也许尝试使用<pre>
代替?
pre #{message}
HTML不使用\\n
作为换行符-它使用break <br>
元素。 将您的message
更改为:
message: "a<br>b<br>c<br>d<br>e"
如果要为每个段落使用<p>
而不是<pre>
,则可以将每个换行符转换为Pug中的新段落:
section
each line in message.split('\n')
p #{line}
这将呈现:
<section>
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
</section>
假设示例中的a
, b
, c
等实际上是您为创建快速示例而缩短的文本块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.