前言:
Jade 是一个高性能的模板引擎,它深受 Haml 影响,它是用 JavaScript 实现的,并且可以供 Node 使用。
他是基于NodeJs的。本文主要讲解使用jade转换成html文件以及相关语法
在线工具:
jade的特性
- 客户端支持
- 高可读性
- 灵活缩进
- html 5模式
- 可选内存缓冲
- 默认代码转义以提高安全性
- 以过滤器产生解析树
- 模板继承
- 开箱即用的Express JS支持
- 命令行运行编译jade模板
- 通过each透明迭代对象,数组,甚至非枚举类
- 块注释
- 块扩展
- 编译和运行时上下文错误报告
- 属性改写
- 静态包含
- mixins
- 块注释
- 无标签前缀
- AST过滤器
- ……
gulp-jade的安装
guip的安装这里就不在阐述
终端输入:
1 | npm install gulp-jade --save-dev |
安装好后会在文件夹里的 node_modules 文件夹下多出 gulp-jade 文件夹 此时说明gulp-jade安装完成
gulp-jade的使用
首先在根目录创建 gulpfile.js gulp的所有命令操作都是在gulpfile.js文件里书写的
1 | var gulp=require('gulp'); |
命令执行顺序为: 寻找src文件夹下的所有扩展名为jade的文件 执行转换 将转换成html的文件输出到desk文件夹下的html文件夹内。
jade语法
doctype
添加一个doctype只需要doctype,然后再跟一个可选的值,默认是html
1 | doctype html |
会转换为:
1 | <!DOCTYPE html> |
标签
以div标签为例
1 | div |
会转换为
1 | <div></div> |
jade能自动识别自闭和标签
1 | input |
会转换为:
1 | <input/> |
文本
标签中添加文本
1 | p 这是P标签 |
会转换为:
1 | <p>这是P标签</p> |
标签中嵌套标签 和写html一样就行
1 | p 这是P标签 |
会转换为:
1 | <p>Welc这是P标签<span>这是span标签</span></p> |
属性
以 ()来分割属性
1 | a(href="http://www.baidu.com") 百度一下 |
会转换为:
1 | <a href="http://www.baidu.com">百度一下</a> |
设置id或class
标签后面跟上 #id , .classname ,如果没有标签则使用默认标签div
1 | #content |
会转换为:
1 | <div id="content"></div> |
1个id和多个class
连着写即可
1 | a#btn.btn.btn-crr |
会转换为:
1 | <a id="btn" class="btn btn-crr"></a> |
循环
语法结构:
1 | each VAL[,KEY] in OBJ |
VAL是值
KEY是键,可选
OBJ是对象,array or object
数组实例
1 | - var jobs = ["baidu", "ali", "tenxun", "heihei"] |
会转换为:
1 | <li>baidu</li> |
对象实例
1 | - var jobs = {"baidu" : "yixia", "shangtianmao" : "jiugoul", "123" : "456"} |
会转换为:
1 | <li>baidu : yixia</li> |