前言

流行的模板

  • PHP:Smarty SimpleTemplate Xtemplate Savant

  • Java:Velocity FreeMarker Jbyte

  • C#:Dotiquid SharpDom Razor

  • Javascript:Mustache Handlebars Juicer Xtemplate EJS Jade

Jade

jade是超高性能的nodejs模板引擎,有着非常强大的API和大量杰出的特性。它主要针对node的服务端。

jade-破坏式、侵入式、强依赖(和普通的html和css无法共存)文件以.jade结尾

特性

客户端支持、代码高可读、灵活的缩进、块展开、混合、静态包含、属性改写、安全,默认代码是转义的(代码经过编译处理,以增强安全性)、运行时和编译时上下文错误报告、命令行编译jade模板(命令行编译支持)、html 5 模式 (使用 !!! 5 文档类型)、在内存中缓存(可选)、合并动态和静态标签类、可以通过 filters(过滤器) 修改树、模板继承、原生支持 Express JS、通过 each 枚举对象、数组甚至是不能枚举的对象、块注释、没有前缀的标签、AST filters、Vim SyntaxTextMate BundleScreencastshtml2jade 转换器、过滤器

过滤器

jade中,分清什么是静态的,什么是动态的?

静态的原封不动的表现在html中,动态的会转换表现。

js代码会执行,js表达式会取值,标签会转换,文本直接输出

标签后是文本,文本可以单行和多行,文本中可嵌入jade表达式;使用#{},里面是后台js表达式,“-”开头的,随后是后台js代码,几个特定的jade关键词,例如循环控制等,随后的都是后台表达式

html标签紧跟着=,后面的是js表达式

安装jade

通过npm来安装

作为包依赖在node中使用安装在本地

npm install jade

作为工具执行命令使用安装在全局

npm install jade -g

缺点

  • 可移植性差

  • 调试困难

  • 性能不是非常出色

Jade学习(一)之特性、安装的更多相关文章

  1. Elasticsearch 6.x版本全文检索学习之分布式特性介绍

    1.Elasticsearch 6.x版本全文检索学习之分布式特性介绍. 1).Elasticsearch支持集群默认,是一个分布式系统,其好处主要有两个. a.增大系统容量,如内存.磁盘.使得es集 ...

  2. InfluxDB学习之InfluxDB的安装和简介

    最近用到了 InfluxDB,在此记录下学习过程,同时也希望能够帮助到其他学习的同学. 本文主要介绍InfluxDB的功能特点以及influxDB的安装过程.更多InfluxDB详细教程请看:Infl ...

  3. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  4. 跟我学习dubbo-ZooKeeper注册中心安装(2)

    注册中心 可选方案:zookeeper.Redis 1.建议使用dubbo-2.3.3以上版本的使用zookeeper注册中心客户端 2.Zookeeper是Apache Hadoop的子项目,强度相 ...

  5. OpenGL学习之windows下安装opengl的glut库

    OpenGL学习之windows下安装opengl的glut库 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装.  Windows环境下的GLUT下载地址:(大小约为15 ...

  6. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  7. [深度学习工具]·极简安装Dlib人脸识别库

    [深度学习工具]·极简安装Dlib人脸识别库 Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具.它广泛应用于工业界和学术界,包 ...

  8. Shell学习之Shell特性(一)

    Shell学习之Shell特性 目录 命令和文件自动补齐功能 命令历史记忆功能 history.上下键.!number.!string.!$.!! 别名功能 alias.unalias cp.~use ...

  9. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  10. Docker学习之Centos7下安装

    Docker学习之Centos7下安装 centos7 64下直接使用yum安装docker环境,步骤如下: 卸载旧版本docker sudo yum remove docker docker-com ...

随机推荐

  1. JIRA7.13版本创建项目:工作流(二)

    工作流 在上一篇文章中,我们新建了一个问题类型,并且增加到问题类型方案里了,同时又关联到我们的这个项目中.那么这些问题我们需要如何设置流程走向来表示问题的处理过程呢?这就需要设定一个流程,并将这个流程 ...

  2. mysql 查询每个分组的前几名

    按分组排序,并查出每个分组的前3名 单表 SELECT * FROM ( SELECT ZONEID, uid, NAME, fight, IF ( , ) AS rank, ( @zone := z ...

  3. watir安装——windows环境

    默认情况下,gem sources 都是https://rubygems.org/

  4. MyEclipse下复制的web项目

    MyEclipse下复制的web项目,需要修改MyEclipse->Project Facets->Web

  5. 有关于Git操作(持续更新)

    Git分支: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git check ...

  6. C# 实现播放RTSP 标准协议码流播放

    http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtphttp://www.st ...

  7. Selenium 2自动化测试实战17(警告框处理)

    一.警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,只需要使用switch_to_alert()方法定位到alert/confir ...

  8. 拉取代码产生冲突 && 切换分支

    1.拉取代码产生冲突 项目中用的主要是 IDEA 编辑器,拉取代码时产生冲突的时候,就先 add + commit 一下,然后再拉取代码,这样子就不冲突了. 拉取过后再push一次. 2.切换一个新增 ...

  9. Redis 5.0

    1.概述默认端口号:6379 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(s ...

  10. jQuery 获得内容

    地址 text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 一.text()  html() &l ...