一个前端攻城狮的全栈之路第四弹:jade模板引擎的简单介绍和使用

本文主要是介绍一个前端攻城狮的全栈之路第四弹:jade模板引擎的简单介绍和使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、类似于java的jsp模板引擎一样,nodejs的模板引擎jade也是爽歪歪,下面就简单说明一下本文大致介绍的jade内容

(1)拆分可复用的模块,以及怎么在其余模块里引入复用对的模块,这里的模板又分为两类:

 (a). head中的link和script标签,通过include嵌套引用

 (b). html的头部声明,就是doctype html定义的部分,通过extends继承引用

(2)定义块级元素:“block content"

(3) 怎么在标签中绑定变量

(4) 怎么在标签中定义class、href等常用属性

(5)怎么循环列表

(6)怎么调用封装的公用方法处理标签上绑定的变量,类似于vue中的过滤器

(7) 怎么在模块中引入当前模块的js等

(8)怎么使用if/else判断


2、按照上述顺序,就一一列举些小例子

(1)拆分可复用的模块

(a)  如果项目比较大,并且分的比较细,可以将header中的link标签再单独拆分出来,在header.jade中引用,如下图

(bheader定义html头部和引入link.jade,(注:这里的引用要用:include嵌套)

(c)在其它模板中引入公用的header.jade(注:这里的引用要用:extends继承)


2)定义块级元素:“block content"


  如果想直接定义一个div,可这样书写(注:相当于div可省略不写)


如果想指定为其他块级标签,在前面声明即可,例如声明为form


(3)怎么在标签中绑定变量,这里分为两种情况:

(a) 标签的内容是变量

(b)标签的属性是变量


4)怎么在标签中定义class、href等常用属性

直接定义在标签后的括号中,用“”逗号+空格“”隔开(逗号非必须,建议加上)


5)怎么循环列表

用each..in方法循环


(6)怎么调用封装的公用方法处理标签上绑定的变量,类似于vue中的过滤器

例如方法format已经封装在app.js中


(7)怎么在模块中引入当前模块的js等

如果当前模块需要引入它自己的js,这里引入的位置需要注意,应该在当前模块最外层div标签闭后引入


8)怎么使用if/else判断


(9)会学以上的方法,小的demo应该是没问题了,另一些高阶的用法mixins等大家可参考官网来学习!!!




































这篇关于一个前端攻城狮的全栈之路第四弹:jade模板引擎的简单介绍和使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/798695

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window