zoukankan      html  css  js  c++  java
  • Express框架之Jade模板引擎使用

     

    日期:2018-7-8  十月梦想  node.js  浏览:2952次  评论:0条

    前段时间讲说了ejs模板引擎,提到了jade的效率等等问题!今天在这里简单提一下jade的使用方式!结合express框架如何使用jade!

    首先使用jade需要在node_moudles中安装jade

    npm i jade  --save

    在nodejs文件中使用jade无需像原生一样使用require("jade")引入,但需要一下设置

    //引用jade
    app.engine('jade', require('jade').__express);
    app.set("view engine","jade");

    然后和使用ejs模板引擎差不多,进行呈递这个模板引擎文件

        app.get("/",function(req,res){
        res.render("haha",{
            a:5,
            jobs:["北京","上海","深圳","许昌","五道口职业技术学院","加利福尼亚州"]
        });
    })

    使用render先去呈递模板引擎,然后设置需要渲染的数据内容

    基础语法:

    接下来看一下jade文件基础语法

      html(lang="en")
    head
        title jade模板引擎页面
        body
            h1 jade真强呀!

    渲染后效果其实就这个样子,没有标签,也没有闭合,类似于Python语法使用缩进

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
     <h1>jade真强呀!</h1>
    </body>
    </html>

    变量渲染:

    基础语法了解后我们看一下怎么去呈递一个变量

    html(lang="en")
    head
        title jade模板引擎页面
        body
            h1 jade真强呀!
            ul
                li 哈哈哈
                li 今天是 #{a} 月
                li 这是一个li
                li jade虽然不易懂,但是很强大;安排!
            ul

    上面小例子看到呈递变量很简单 使用#{变量名称}

    循环:

    接下来我们看一下如何实现for循环

    html(lang="en")
    head
        title jade模板引擎页面
        body
            h1 jade真强呀!
            ul
                li 哈哈哈
                li 今天是 #{a} 月
                li 这是一个li
                li jade虽然不易懂,但是很强大;安排!
                
            ul
    
                each job in jobs
                    li= job

    这里的循环使用的是 each ....  in.....

    job指传递数组中的一个元素,而jobs是传递的整个数组,循环后job内弄填充每个li

    当然这个jobs数组是在nodejs内,我们也可以将这个数组直接在jade文件中声明

    -var jobs=["北京","上海","深圳","许昌","五道口职业技术学院","加利福尼亚州"];
     each job in jobs
                    li= job

    这样就在jade渲染了数据 在声明变量时候使用前加-

    对象转换:

    我们接下来看一下对象类型转换

         h1 张三个人信息
        ul
            each val,key ininfo
                li #{key}:#{val}

    同样使用each  ...  in..进行渲染数据,当然也是可以加-在jade进行声明数据;

    整个渲染出html效果如下

    总之jade的效率还是很棒的;习惯之后会爱不释手,今天这个jade的简单应用介绍到这里!有机会继续讨论(TuCao)这个jade!

  • 相关阅读:
    【BZOJ4008】[HNOI2015] 亚瑟王(DP)
    【BZOJ4416】 [SHOI2013] 阶乘字符串(状压DP)
    【BZOJ4524】[CQOI2016] 伪光滑数(堆的套路题)
    【洛谷5336】[THUSC2016] 成绩单(区间DP)
    【洛谷4238】【模板】多项式乘法逆
    【洛谷4707】重返现世(kth Min-Max容斥+动态规划)
    【洛谷5339】[TJOI2019] 唱、跳、rap和篮球(容斥+NTT)
    【洛谷3723】[AH2017/HNOI2017] 礼物(FFT)
    【LOJ2290】「THUWC2017」随机二分图(状压+记忆化搜索)
    【洛谷5795】[THUSC2015] 异或运算(可持久化Trie)
  • 原文地址:https://www.cnblogs.com/zhangycun/p/10304050.html
Copyright © 2011-2022 走看看