Jade是一款高性能简洁易懂的模板引擎,Jade是Html的Javascript实现,在服务端(NodeJS)及客户端均有支持。

一、功能

客户端支持     超强的可读性    灵活易用的缩进  块扩展  代码默认经过编码处理以增强安全性  编译及运行时的上下文错误报告  命令行编译支持  HTML5模式

可选的内存缓存  联合动态和静态标记类  利用过滤器解析树的处理  支持 Express  利用each透明的循环objects,arrays甚至不可枚举对象  块注释  不需要标记前缀

AST过滤器   过滤器  ...

二、jade安装

npm install jade -g
jade -h

三、jade工具

推荐:online official

四、jade语法

4.1 标签

以p标签为例

p

会转换为:

<p></p>

jade能自动识别自闭和标签:

input

会转换为:

<input/>

4.2 文本

 4.2.1标签中添加文本

p 欢迎加入wandoujia-fe

会转换为:

<p>欢迎加入wandoujia-fe</p>

 

4.2.2 标签中嵌套标签

直接跟写html一样就行

p Welcome to wandoujia fe, we want <b>you</b>

会转换为:

<p>Welcome to wandoujia fe, we want <b>you</b></p>

 

4.2.3 标签中有大段的块内容

  • 方式一:在标签后面添加 "."

   比如一段js代码,注意是script后面有一个"."

script.
console.log('Welcome to join wandoujia-fe')
console.log('We want you')
  • 方式二:每段前面添加"|"
script
| console.log('Welcome to join wandoujia-fe')
| console.log('We want you')

转换结果:

<script>
console.log('Welcome to join wandoujia-fe')
console.log('We want you')
</script>

4.3 属性

()来分割属性

a(rel="nofollow", href="http://www.wandoujia.com/join#getJobInfo=1") 招聘

会转换为:

<a rel="nofollow" href="http://www.wandoujia.com/join#getJobInfo=1">招聘</a>

4.4 注释

 4.4.1 单行注释

// changed by yc-team 

会转换为:

<!-- changed by yc-team -->

 

4.4.2 多行注释

body
//
p 测试代码by yaochun

会转换为:

<body>
<!--p 测试代码by yaochun
-->
</body>

 4.4.3 不输出的注释

在单行注释上加一个短横线 -

//- 这段注释不会输出
p 文本测试by yaochun

会转换为:

<p>文本测试by yaochun</p>

注意: 很多文档里面提到的条件注释已经不再支持

4.5 doctype

添加一个doctype只需要doctype,然后再跟一个可选的值,默认是html

doctype html

会转换为:

<!DOCTYPE html>

注意:!!!这种简写的方式已经被抛弃了~

可选值还有:

  • xml
  • transitional
  • srict
  • frameset
  • 1.1
  • basic
  • mobile

4.6 设置id或class

标签后面跟上#id,.classname,如果没有标签则使用默认标签div

#content
p#info
a.btn

会转换为:

<div id="content"></div>
<p id="info"></p>
<a class="btn"></a>

4.7 1个id和多个class

连着写即可

a#download-btn.btn.blue-btn

会转换为:

<a id="download-btn" class="btn blue-btn"></a>

转自:http://www.w3cplus.com/html/jade.html

Jade模板引擎学习(一)安装及基本语法的更多相关文章

  1. jade模板引擎学习笔记(WebsStorm9.0.3+ nodejs+express+jade)

    jade环境搭建 jade标签写法 jade注释 jade添加类名.id.属性 jade添加脚本,css jade变量 jade多行文本显示 jade流程代码:for,each,while jade流 ...

  2. Jade模板引擎学习(二)语法:代码、变量、循环、过滤器及mixin

    Jade语法 一.代码 不会被缓冲代码 ul - for(var i=0; i; i++) li Jade Engine 会转换为: <ul> <li>Jade Engine& ...

  3. Express框架之Jade模板引擎使用

    日期:2018-7-8  十月梦想  node.js  浏览:2952次  评论:0条 前段时间讲说了ejs模板引擎,提到了jade的效率等等问题!今天在这里简单提一下jade的使用方式!结合expr ...

  4. Express全系列教程之(十):jade模板引擎

    一.前言 随着前端业务的不断发展,页面交互逻辑的不断提高,让数据和界面实现分离渐渐被提了出来.JavaScript的MVC思想也流行了起来,在这种背景下,基于node.js的模板引擎也随之出现. 什么 ...

  5. Jade 模板引擎使用

    在 Express 中调用 jade 模板引擎 jade 变量调用 if 判断 循环 Case 选择 在模板中调用其他语言 可重用的 jade 块 (Mixins) 模板包含 (Includes) 模 ...

  6. artTemplate模板引擎学习实战

    在我的一篇关于智能搜索框异步加载数据的文章中,有博友给我留言,认为我手写字符串拼接效率过低,容易出错.在经过一段时间的摸索和学习之后,发现现在拼接字符串的方法都不在是自己去书写了,而是使用Javasc ...

  7. NVelocity模板引擎学习笔记

    NVelocity模板引擎学习笔记 学习模板引擎有一段时间现在做一些总结

  8. Jade模板引擎使用详解

    在 Express 中调用 jade 模板引擎 jade 变量调用 if 判断 循环 Case 选择 在模板中调用其他语言 可重用的 jade 块 (Mixins) 模板包含 (Includes) 模 ...

  9. nodejs jade 模板 引擎的使用方法

    1.新建项目 2.使用模板引擎 app.set('view engine','jade'); 3.使用render渲染一个视图 res.render(用于指定需要被渲染的视图(必选),本地变量(可选) ...

随机推荐

  1. JQuery+ajax数据加载..........

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Python中的namespace package

    在Python 3.3之前,一个目录想被当成package被导入,必须包含__init__.py文件:而在Python 3.3及以后的版本中,__init__.py文件可以不需要,直接使用import ...

  3. 如何在Python 2.X中也达到类似nonlocal关键字的效果

    nonlocal关键字时Python 3.X中引入的,目的是让内层函数可以修改外层函数的变量值,而该关键字在Python 2.X中是不存在的.那么,要在Python 2.X中达到类型达到类似nonlo ...

  4. “Hello World!”团队第二次会议

    今天是我们团队“hello world!”团队召开的第二次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 一.会议时间 20 ...

  5. c# 两个软件传参

    1.socket 传参,类似于小型的服务器和客户端,一端发送,另一端保持监听状态. 2.通过第三方  数据库或者文件.

  6. window对象与document对象的区别

    [window对象] 它是一个顶层对象,而不是另一个对象的属性,即浏览器的窗口. 属性 defaultStatus 缺省的状态条消息 document 当前显示的文档(该属性本身也是一个对象) fra ...

  7. 求gcd(最大公因数),lcm(最小公倍数)模板

    gcd(最大公因数),lcm(最小公倍数) #include<iostream> using namespace std; int gcd(int a,int b)//辗转相除法(欧几里德 ...

  8. redis切换数据库的方法【jedis】

    package com.test; import redis.clients.jedis.Jedis; public class readredis { public static void main ...

  9. 使用LoadRunner脚本采集Linux性能数据

    前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”.下面的脚本,是在LoadRunner里连接Linux/Unix远程服务器,收集其磁盘IO的负载到测试结果. 涉及到三个知 ...

  10. BAT批处理(三)

    1.set set命令:显示.设置或删除变量.显示变量:set 或 set s 前者显示批处理当前已定义的所有变量及其值,后者显示所有以s开头的变量及值.设置变量:set aa=abcd 此句命令便可 ...