jade模板引擎

最近用jade写了点东西,觉得挺有趣的,是一个有意思的模板引擎。

比如说,像这样的结构的html

<span>
    <i class="icon-edit"></i>
    编译
</span>

在jade里面只需要写一句话就好了

span: i.icon-edit 编译

但我觉得最好用的还是mixins block

如果要定义一个重复利用的模块,就像是微博首页里显示的博文

这里就是重复实现的模块,在jade里可以这样写

mixin blog(blogId)
    li
        div
            p #{blogId.passage}
            div
                ul
                    each pic in blogId.pics
                        li(src=#{pic})
        div
            span #{blogId.blogger}
            span #{blogId.date}
            span #{blogId.time}
            span #{blogId.zfamount}
            span #{blogId.plamount}
            span #{blogId.zanamount}   

+blog(blog_123)
+blog(blog_456)

each 能取出每个 blogId.pics 里的数据,并根据 blogId.pics 的长度添加同等数量的 li 

jade还有模板继承和包含的功能

比如说,设定模板layout.jade  那么每一个继承layout的模板具有了layout设定的数据了

在这里 index.jade 继承了 layout 所以 index 文件里已经有了 header 和 footer 文件了 

在 index 里包含了模板 pics 那么 index 文件就有了 pics 模板的内容了

而 block append 可以追加文件到 style 里

原文地址:https://www.cnblogs.com/Dida-1209/p/6088720.html