从Pug中的字符串插入新行

时间:2019-08-06 14:09:00

标签: javascript pug nodemailer

我正在submit服务器中将debounceTimepug一起使用来处理电子邮件模板。

在我的情况下,我在nodemailer对象中有以下对象

NodeJS

现在在locals文件中,我有以下一行

{
    from: 'abc@xyz.com',
    message: 'a\nb\nc\nd\ne',
}

问题在于,电子邮件中没有新行的文字。

归档的消息将忽略pug,并将所有内容放在同一行p #{message}

我需要在页面中获取带有换行符的文本,就像在对象中一样。

\n

该问题的解决方案是什么?

3 个答案:

答案 0 :(得分:2)

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

pre #{message}

答案 1 :(得分:0)

HTML的换行符不使用\n-它使用break <br>元素。将您的message更改为:

message: "a<br>b<br>c<br>d<br>e"

答案 2 :(得分:0)

如果您想为每个段落使用<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>

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