在 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. oozie案例——自定义MapReduce workflow
  2. java中rpn_java – RPNCalculator代码混淆
  3. ubuntu安装vsftpd
  4. c语言中tgx是什么函数,《高等数学》课后练习题
  5. 在装好的xp系统里面如何添加新的硬件设备
  6. 变量是否在数组内c语言,函数内创建的数组在调用后,是否就不存在
  7. 1.9 使用PuTTY远程连接Linux 1.10 使用xshell连接Linux 1.11 PuTTY密钥认证 1.12 xshell密钥认证...
  8. (转)Linux下的输入/输出重定向
  9. cube station下载_Cube Station
  10. MySql 把B表数据插入到A表中
  11. 计算机刷bios版本,主板刷bios的6种方法,电脑刷bios方法-
  12. 在Win10中安装虚拟机:VMware Workstation Player+Ubuntu20.04
  13. 数据正常运行之后,突然遇见:CiteSpace will re-run the process and keep non-empty intervals only.问题
  14. NEON码农指导 Chapter 4 : NEON Intrinsics
  15. 程序设计——第七周作业(Floyd:胜负未知场数;dijkstra:猫猫快线最快线路;SPFA:城市收税)
  16. multisim秒信号发生器_基于Multisim的简易信号发生器的设计
  17. java的逻辑判断和结构
  18. linux常用命令-修改主机名
  19. echarts自定义地图行政区域
  20. 2021年全球聚二甲基二烯丙基氯化铵收入大约252.5百万美元,预计2028年达到307.8百万美元,2022至2028期间,年复合增长率CAGR为 %。同时2020年全球聚二甲基二烯丙基氯化铵销量大

热门文章

  1. 一种基于数据表的共享智慧的方法
  2. 新奥新智面试(部分)
  3. Windows10任务管理器中的内存用量的使用中(已压缩)、已提交、可用、分页缓冲池、非分页缓冲池是什么意思?
  4. vb中mshflexgrid每格宽度_VB中MSHFLEXGRID常用的属性,方法事件
  5. amd 2500 boot设置
  6. 虚机中安装OFFICE2010专业版
  7. 【原创】分享一个Python文字游戏1.0
  8. PS练习5——给老照片上色
  9. python_day13_js
  10. 释放内存资源,我用empty.exe命令