jade学习02
模版继承 ; block,extends ;如果是原生html文件的话,后缀html
//layout.jade
doctype html
html
  head
    meat(charset='utf-8')
    title learn jade
  body
    block content
//inde.jade
extends layout   //这里注意路径
block content
-----
<!DOCTYPE html>
<html>
  <head>
    <meat charset="utf-8"></meat>
    <title>learn jade</title>
  </head>
  <body>
  </body>
</html>
模版包含 ; include
//index.jade
extends layout
block content
  include style
//style.jade
style.
  h2{
    color: #555;
  }
//结果
  <body>
    <style>
      h2{
        color: #555;
      }
    </style>
  </body>
jade api
- jade.compile(source, options)
var http = require('http');
var jade = require('jade');
http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type':'text/plain'})
  var fn = jade.compile('div #{course}', {});
  var html = fn({course: 'jade'});
  res.end(html);
}).listen(3000);
console.log('server Start');
//结果
<div>jade</div>
- jade.compileFile(path, options)
- jaed.compileClient(source, options)
- jade.render(source, options)
  var html = jade.render('div #{course}', {course: 'jade render'});
//结果
<div>jade render</div>
- jade.renderFile(filename, options)
var http = require('http');
var jade = require('jade');
http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type':'text/html'})
  var html = jade.renderFile('index.jade', {course: 'jade renderFile', pretty: true});
  res.end(html);
}).listen(3000);
console.log('server Start');
过滤器
**安装 npm install --save markdon less coffee-script **
**直接在jade中使用,无需在node文件中引用 **
:markdowm
  #title
style
  :less
    body{
      p{
        color:#ccc;
      }
    }
script
  :coffee
    console.log 'hi'
利用html2jade反编译
- 安装 npm install --save html2jade
- 网址编译成jade   html2jade http://www.example.com 地址 > example.jade
- html文件编译成jade   html2jade /example/html > example.jade
- node.js中使用
var html2jade = require('html2jade');
html2jade.converDocument(document, {}, function(err, jade) {
))
jade
缺点
- 可移植性差; (跨团队合作问题,可以用html2jade弥补)
- 调试困难
- 性能不是很出色(项目要求高的话不适合选择)
适用
- 团队初期追求效率的情况下
jade学习02的更多相关文章
- JavaScript学习02 基础语法
		JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ... 
- Java虚拟机JVM学习02 类的加载概述
		Java虚拟机JVM学习02 类的加载概述 类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对 ... 
- Python学习02 列表 List
		Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ... 
- Android Testing学习02 HelloTesting 项目建立与执行
		Android Testing学习02 HelloTesting 项目建立与执行 Android测试,分为待测试的项目和测试项目,这两个项目会生成两个独立的apk,但是内部,它们会共享同一个进程. 下 ... 
- Java学习02
		Java学习02 1.导入内部的包 一.在包的下面加入下面一句话: import java.util.Scanner; 二.在类中 Scanner input=new Sanner(Sy ... 
- ThinkPhp学习02
		原文:ThinkPhp学习02 一.什么是MVC M -Model 编写model类 对数据进行操作 V -View 编写html文件,页面呈现 C -Controll ... 
- JVM学习02:GC垃圾回收和内存分配
		JVM学习02:GC垃圾回收和内存分配 写在前面:本系列分享主要参考资料是 周志明老师的<深入理解Java虚拟机>第二版. GC垃圾回收和内存分配知识要点Xmind梳理 案例分析1-(G ... 
- 2018.12.22 Spring学习02
		Spring学习02 1.使用注解配置Spring 1.1 为主配置文件引入新的命名空间(约束) 添加约束文件xxx-xxx-context.xml 添加到主配置文件中 选择刚才的context.xm ... 
- 天脉2(ACoreOS653)操作系统学习02
		天脉2(ACoreOS653)操作系统学习02 一.分区内通信方法 分区内通信指同一分区内进程之间的通信.ARINC 653定义的分区内进程通信机制,包括:缓存队列(Buffers-Queue).黑板 ... 
随机推荐
- js判断手机端操作系统(Andorid/IOS),并自动为链接添加相应下载地址
			<script type="text/javascript"> $(document).ready(function(e) { var u = navigator.us ... 
- php处理图片实现
			<?php include("SimpleImage.php");//图片处理类在下面 $url="http://f3.v.veimg.cn/meadincms/1 ... 
- php简易灌水
			<?php $data = array ('content' => '白菜大侠','itemid'=>58); $data = http_build_query($data); $o ... 
- Java_内存管理String and Array
			题目1.指出下列程序运行的结果 ()public class Example { String str = new String("good"); char[] ch = { 'a ... 
- express响应前端ajax请求
			后端其实并不需要知道前端发起的请求是不是ajax,后端只需要响应请求即可.例子: 前端这样写: $('button').on('click', function(event) { event.prev ... 
- ios 弹出键盘 视图向上平移
			[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardwillAppear:) name:U ... 
- springmvc注解配置
			<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.s ... 
- JDBC之SqlHelper
			SqlHelper工具类如下: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.Resul ... 
- IDT5V49EE904资料学习
			一.特性: 1.4个内部PLL 2.内部非易失EEPROM. 3.最快400k的I2C串行接口. 4.输入时钟范围:1M—200M. 5.输出时钟范围:4.9k—200M 6.输入晶振参数带有在线可编 ... 
- python中获取当前日期在当月是第几天
