简介

   jade 是HTMl模板引擎,用javascript编写,可以在Node.js中使用。本文主要介绍原生node操作jade文件的方法。

    安装

   npm install jade 

  方法(API)  

   jade的方法主要分为两类,一是编译语句的,二是编译jade文件。

    options

    opeions jade的方法都可设置的参数列表:

  

let options = {
filename: '', // 在异常中可用
doctype: '', // 指定 doctype
pretty: '' , // 简单地说就是加换行
self: '', // 使用单独的命名空间
debug: '', // 输出编译后的函数体
compileDebug: '', // 编译调试
cache: '', // 缓存编译函数
compiler: '', // 覆盖默认编译器
parser: '', // 覆盖默认解析器
globals: '', // 加全局变量,可以在模板中直接使用
}       

    jade.compile()

     编译表达式,返回值是一个可以产生html结构的函数。  

var fn = jade.compile('h1 33')

console.log(fn()) // <h1>33</h1>

    jade.compileFile()

   编译jade文件,返回值同上。  

fn = jade.compileFile('test.jade')

console.log(fn()) // <h1>gg</h1>

    jade.compileClient()

     编译表达式,返回一段javascript可以在客户端使用。当前端页面需要动态改变dom时可以使用此方法生成dom结构。

fn = jade.compileClient('h4 44')
console.log(fn) // function template(locals) {
// var buf = [];
// var jade_mixins = {};
// var jade_interp;
//
// buf.push("<h4>44</h4>");;return buf.join("");
// }

      template函数是通过compileClient()方法的返回值。

    jade.compileFileClient()

fn = jade.compileFileClient('test.jade')
console.log(fn)
//
// function template(locals) {
// var buf = [];
// var jade_mixins = {};
// var jade_interp;
//
// buf.push("<h1>gg</h1>");;return buf.join("");
// }

    jade.render()

      node 操纵jade的主要方法,返回html结构。     

    jade.renderFile()   

     编译文件,结果同上。   

fn = jade.renderFile('test.jade')
console.log(fn) // <h1>gg</h1>

  以上是node.js操作jade的主要方法。

         

 

jade 详解的更多相关文章

  1. 模板引擎Jade详解

    有用的符号: | 竖杠后的字符会被原样输出 · 点表示下一级的所有字符都会被原样输出,不再被识别.(就是|的升级版,实现批量) include 表示引用外部文件 短杠说明后面跟着的字符只是一段代码(与 ...

  2. Angular2 入门详解

    AngularJS 2 快速入门 npm是什么?   npm其实是Node.js Package Manager的简称,是Node.js包管理工具(package manager) 安装Node.js ...

  3. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

  4. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  5. EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解

    前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...

  6. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  7. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  8. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  9. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

随机推荐

  1. 00_Linux介绍_我的Linux之路

    原文章发布于特克斯博客www.susmote.com 什么是操作系统 操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机& ...

  2. java并发编程基础 --- 7章节 java中的13个原子操作类

    当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量 i=1,A线程更新 i+1,B线程也更新 I+1,经过两个线程的操作之后可能 I不等于3,而是等于2.因为A和B线程更 ...

  3. poj 3696 The Luckiest Number

    The Luckiest Number 题目大意:给你一个int范围内的正整数n,求这样的最小的x,使得:连续的x个8可以被n整除. 注释:如果无解输出0.poj多组数据,第i组数据前面加上Case ...

  4. Oracle的常用的命令

    --导出数据库 exp test2/test2@trp84 file=e:\test2.dmp owner=test2 --导入数据库 imp test2/test2@orcl file='e:\te ...

  5. 使用Python的requests模块编写请求脚本

    requests模块可用来编写请求脚本. 比如,使用requests的post函数可以模拟post请求: resp = requests.post(url, data = content) url即为 ...

  6. mysql的存储过程,函数,事件,权限,触发器,事务,锁,视图,导入导出

    1.创建过程 1.1 简单创建 -- 创建员工表 DROP TABLE IF EXISTS employee; CREATE TABLE employee( id int auto_increment ...

  7. 敏捷冲刺每日报告——Day4

    1.情况简述 Alpha阶段第一次Scrum Meeting 敏捷开发起止时间 2017.10.28 00:00 -- 2017.10.29 00:00 讨论时间地点 2017.10.28晚9:30, ...

  8. Linux下进程间通信--消息队列

    消息队列的定义遍地都是,不想移驾,请看下文: 一.定义: 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法. 每个数据块都被认 为是有一个类型,接收者进程接收的数据块可以有不同的类型值.我 ...

  9. nyoj VF

    VF 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 Vasya is the beginning mathematician. He decided to make ...

  10. 【微软大法好】VS Tools for AI全攻略

    大家都知道微软在Connect();17大会上发布了VS Tools for AI,旨在提升Visual Studio和VSCode对日益增长的深度学习需求的体验.看了一圈,网上似乎没有一个完整的中文 ...