1. 代码 Code

Pug 为您在模板中嵌入 JavaScript 提供了可能。这里有三种类型的代码。

1.1. 不输出的代码

- 开始一段不直接进行输出的代码,比如:

- for (var x = 0; x < 3; x++)
  li item

对应的 HTML:

<li>item</li>
<li>item</li>
<li>item</li>

Pug 也支持把它们写成一个块的形式:

-
  var list = ["Uno", "Dos", "Tres",
          "Cuatro", "Cinco", "Seis"]
each item in list
  li= item

对应的 HTML:

<li>Uno</li>
<li>Dos</li>
<li>Tres</li>
<li>Cuatro</li>
<li>Cinco</li>
<li>Seis</li>

= 开始一段带有输出的代码,它应该是可以被求值的一个 JavaScript 表达式。为安全起见,它将被 HTML 转义:

p
  = '这个代码被 <转义> 了!'

对应的 HTML:

<p>这个代码被 &lt;转义&gt; 了!</p>

也可以写成行内形式,同样也支持所有的 JavaScript 表达式:

p= '这个代码被 <转义> 了!'

对应的 HTML:

<p>这个代码被 &lt;转义&gt; 了!</p>

1.2. 不转义的、带输出的代码

!= 开始一段不转义的,带有输出的代码。这将不会做任何转义,所以用于执行用户的输入将会不安全:

p
  != '这段文字 <strong>没有</strong> 被转义!'

对应的 HTML:

<p>这段文字 <strong>没有</strong> 被转义!</p>

同样也可以写成行内形式,支持所有的 JavaScript 表达式:

p!= '这段文字' + ' <strong>没有</strong> 被转义!'

对应的 HTML:

<p>这段文字 <strong>没有</strong> 被转义!</p>

[danger] 危险

不转义的输出可能是危险的,您必须确保任何来自用户的输入都是安全可靠的,以防止发生跨站脚本攻击(XSS)。

Copyright © tuzhu008 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-12-18 16:31:32

results matching ""

    No results matching ""