在 Express 中调用 jade 模板引擎

jade 变量调用

if 判断

循环

Case 选择

在模板中调用其他语言

可重用的 jade 块 (Mixins)

模板包含 (Includes)

模板引用 (Extends)

在 Express 中调用 jade 模板引擎

varexpress =require('express');varhttp =require('http');varapp =express();app.set('view engine','jade');// 设置模板引擎app.set('views',__dirname);// 设置模板相对路径(相对当前目录)app.get('/',function(req,res){res.render('test');// 调用当前路径下的 test.jade 模板})varserver =http.createServer(app);server.listen(3002);console.log('server started on http://127.0.0.1:3002/');

test.jade

p hello jade

其上的 jade 模板会被解析成

hello jade

虽然平常我们修改 node.js 代码之后需要重启来查看变化,但是 jade 引擎不在此列,因为是动态加载的,所以我们修改完 jade 文件之后可以直接刷新网页来查看效果的。

如果文本比较长可以使用

p

|foo bar baz

|rawr rawr

或者

p.foo bar baz

rawr rawr

两种情况都可以处理为

foo bar baz rawr rawr

jade 变量调用

jade 的变量调用有 3 种方式

#{表达式}

=表达式

!=表达式

注意:符号 - 开头在 jade 中属于服务端执行的代码

-console.log('hello');// 这段代码在服务端执行-vars ='hello world'// 在服务端空间中定义变量p #{s}p=s

会被渲染成为

hello world

hello world

以下代码效果相同

-vars ='world'p hello #{s}p='hello'+s

方式1可以自由的嵌入各个地方 方式2返回的是表达式的值 = 与 方式3 != 雷同,据说前者会编码字符串,如 变成 后者不会,不过博主没试出来不知道什么情况。

除了直接在 jade 模板中定义变量,更常见的应用是在 express 中调用 res.render 方法的时候将变量一起传递进模板的空间中,例如这样:

res.render(test,{s:'hello world'});

调用模板的时候,在 jade 模板中也可以如上方那样直接调用 s 这个变量

if 判断

方式1

-varuser ={description:'我喜欢猫'}-if(user.description)h2 描述p.description=user.description

-elseh1 描述p.description 用户无描述

结果:

描述

我喜欢猫

java模板引擎 jade_Jade模板引擎使用详解相关推荐

  1. Hadoop入门(四)——模板虚拟机环境准备(图文详解步骤2021)

    Hadoop入门(四)--模板虚拟机环境准备(图文详解步骤2021) 系列文章传送门 这个系列文章传送门: Hadoop入门(一)--CentOS7下载+VM上安装(手动分区)图文步骤详解(2021) ...

  2. C++模板之特化与偏特化详解

    2019独角兽企业重金招聘Python工程师标准>>> C++函数模板与类模板实例解析_C 语言_脚本之家 http://www.jb51.net/article/53746.htm ...

  3. MySQL存储引擎 lnnoDB逻辑架构 innodb存储引擎表空间(ibd文件)详解 回滚日志的物理空间

    文章目录 存储引擎 一 MySQL组织架构 二 查看存储引擎信息 三 修改存储引擎 3.1 配置文件修改存储引擎 3.2 临时修改存储引擎 3.3 建表时修改存储引擎 四 存储引擎实验 五 数据库升级 ...

  4. java对接阿里云短信服务详解(验证码,推广短信,通知短信)

    前言 小前提: - java:springboot框架,maven版本管理. - 阿里云:有账号,已经进行实名认证. java对接阿里云短信服务详解(验证码,推广短信,通知短信) 前言 1. 登录阿里 ...

  5. java写exe程序实例,java实现可安装的exe程序实例详解

    java实现可安装的exe程序实例详解 通过编写java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写java代码,将编写好的java项目导出一个.jar格 ...

  6. 把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  7. 2020年 第11届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2020.7.5】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  8. 2020年 第11届 蓝桥杯 Java C组 省赛真题详解及小结【第1场省赛 2020.7.5】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  9. 2019年 第10届 蓝桥杯 Java B组 省赛真题详解及总结

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  10. 2018年 第9届 蓝桥杯 Java B组 省赛真题详解及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

最新文章

  1. linux关于程序的user,c – “get_user_pages”如何工作(对于linux驱动程序)
  2. nginx 做负载均衡
  3. Delphi CxGrid 汇总(3)
  4. 【数据挖掘知识点五】层次聚类方法的理解
  5. mysql打开的文件描述符限制_linux fopen个数限制的问题(文件描述符限制)
  6. python 中 for使用小技巧
  7. charles基本使用文档
  8. Python 框架 之 Scrapy 爬虫(二)
  9. 两层卷积网络实现手写字母的识别(基于tensorflow)
  10. 惠斯通电桥信号调理芯片_elmos推出专为汽车应用开发的传感器信号调理芯片E520.47...
  11. “画大饼”行走江湖的必备技能
  12. CCNP系列之九-----帧中继子接口试验配置
  13. ns.ajax,UIWebView使用NSURLProtocol(拦截),ajax加载失败的问题
  14. win10 UEFI引导恢复
  15. 宏基4750网卡驱动linux,宏基4750g网卡驱动下载
  16. log4j日志级别配置完成后不生效 系统一直打印debug日志
  17. 服务器网卡,10GE设备相关笔记
  18. SQL Server 2000安装教程
  19. 基于5片FPGA处理的PCIE光纤传输硬件加速卡
  20. 企业微信私聊安全吗?

热门文章

  1. flask sqlalchemy wtf 使用笔记
  2. 安装opencv_python库 出现:not a supported wheel on this platform问题
  3. JSP连数据库登录检查用户名和密码模板
  4. DAMP环境搭建详解 DAMP----Debian Apache2 Mysql PHP5
  5. 简短爆笑的小笑话集锦
  6. 文件上载限制4gb_解决百度盘上传文件容量限制
  7. 【PBL项目实战】户外智慧农场项目实战系列——3.云端可视化页面开发及设备数据源的配置与调试
  8. 中兴微型计算机,「简讯」华为MateBook X官宣!中兴将推首款屏下摄像头智能机……...
  9. (十一、采用 Sentinel 服务容错)莞工校招助手【微服务应用】
  10. <From Zero to Hero>零基础学习Python基础语法【条件判断与条件嵌套】