详解Node.js模板引擎Jade入门

2020-06-17 07:19:16易采站长站整理


a(href=url, data-active=isActive)
label
input(type="checkbox", checked=isChecked)
| yes / no

提供给上面模板的数据:


{
url: "/logout",
isActive: true,
isChecked: false
}

最终渲染后输出的HTML:


<a href="" data-active=" rel="external nofollow" data-active"></a>
<label>
<input type="checkbox" />yes / no
</label>

注意:属性值为false的属性在输出HTML代码时将被忽略;而没有传入属性值时,将默认为true.

5、字面量

为了省事,可以直接在标签名之后写类名和ID名。例如:


div#content
p.lead.center
| Pandora_galen
#side-bar.pull-right // 没有标签名,默认为“div”
span.contact.span4
a(href="/contact" rel="external nofollow" rel="external nofollow" ) contact me

渲染输出的HTML:


<div id="content">
<p class="lead center">
Pandora_galen
<div id="side-bar" class="pull-right"></div>
<span class="contact span4">
<a href="/contact" rel="external nofollow" rel="external nofollow" > contact me </a>
</span>
</div>

6、文本

使用“|”符号输出原始文本。


div
| 我两年前开始学习前端
| 在此之间,我学过了html, jQuery, JavaScript, Python, Css3, HTML5, Bootstrap, D3.js, SVG...而现在我在学Node。并且我已经深深的爱上了前端。

7、Script 和 Style块

使用“.”符号在HTML里创建


script.
console.log("Hello world!");
setTiemout(function() {
window.location.href = "http://csdn.net"
}, 1000);

console.log("Good bye!");

生成的代码:


<script>
console.log("Hello world!");
setTiemout(function() {
window.location.href = "http://csdn.net"
}, 1000);

console.log("Good bye!");
</script>

同理,style.生成的是<style></style>。

8、JavaScript代码

使用-,=或!=这三个符号在Jade中写可以操纵输出的可执行JS代码。这在要输出HTML元素和注入JavaScript时是很有用的。不过,这么做一定要小心避免跨站脚本(XSS)的攻击。

比如,可以使用!=定义一个array, 输出标签数据:


- var arr = ['<a>', '<b>', '<c>']ul