Pug 為您在模板中嵌入 JavaScript 提供了可能。這里有三種類型的代碼。
用 - 開始一段不直接進行輸出的代碼,比如:
- for (var x = 0; x < 3; x++)
li item
渲染后:
<li>item</li>
<li>item</li>
<li>item</li>
Pug 也支持把它們寫成一個塊的形式:
-
var list = ["Uno", "Dos", "Tres",
"Cuatro", "Cinco", "Seis"]
each item in list
li= item
渲染后:
<li>Uno</li>
<li>Dos</li>
<li>Tres</li>
<li>Cuatro</li>
<li>Cinco</li>
<li>Seis</li>
用 = 開始一段帶有輸出的代碼,它應(yīng)該是可以被求值的一個 JavaScript 表達式。為安全起見,它將被 HTML 轉(zhuǎn)義:
p
= '這個代碼被 <轉(zhuǎn)義> 了!'
渲染后:
<p>這個代碼被 <轉(zhuǎn)義> 了!</p>
也可以寫成行內(nèi)形式,同樣也支持所有的 JavaScript 表達式:
p= '這個代碼被 <轉(zhuǎn)義> 了!'
渲染后:
<p>這個代碼被 <轉(zhuǎn)義> 了!</p>
用 != 開始一段不轉(zhuǎn)義的,帶有輸出的代碼。這將不會做任何轉(zhuǎn)義,所以用于執(zhí)行用戶的輸入將會不安全:
p
!= '這段文字 <strong>沒有</strong> 被轉(zhuǎn)義!'
渲染后:
<p>這段文字 <strong>沒有</strong> 被轉(zhuǎn)義!</p>
同樣也可以寫成行內(nèi)形式,支持所有的 JavaScript 表達式:
p!= '這段文字' + ' <strong>沒有</strong> 被轉(zhuǎn)義!'
渲染后:
<p>這段文字 <strong>沒有</strong> 被轉(zhuǎn)義!</p>
不轉(zhuǎn)義的輸出可能是危險的,您必須確保任何來自用戶的輸入都是安全可靠的,以防止發(fā)生跨站腳本攻擊(XSS)。
更多建議: