简介

   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. 巨人大哥谈Web应用中的Session(session详解)

    巨人大哥谈Web应用中的Session(session详解) 虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术. ...

  2. 网络1711班 C语言第八次作业批改总结

    网络1711班 C语言第七次作业批改总结 最近在忙一些琐事,没能及时批改大家的作业,连续两次作业总结也没有很用心写,在这要给大家say sorry. 1.本次作业评分细则 1.1 基本要求(1分) 按 ...

  3. C语言第三周作业---单层循环

    一.PTA实验作业 题目1 1.实验代码 int N = 0,i; char sex; float a[9], height; scanf("%d\n", &N); for ...

  4. 第六次作业:Alpha阶段综合报告(Java-Team)

    团队:Java-Team 成员: 章辉宇(284) 吴政楠(286) 陈阳(PM:288) 韩华颂(142) 胡志权(143) github地址:https://github.com/WHUSE201 ...

  5. Session的过期时间如何计算?

    在生成session的时候,会设置一个session过期时间.session的过期时间并不是从生成session对象开始计算,超过过期时间,session就失效了. 而是每当一个浏览器请求,sessi ...

  6. decltype操作符

    关于decltype操作符的说明: 1.在C++中,decltype作为操作符,用于查询表达式的数据类型.decltype在C++11标准制定时引入,主要是为泛型编程而设计,以解决泛型编程中,由于有些 ...

  7. JFinal项目发送邮件——jfinal-mail-plugin

    JFianl框架: JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java语言所有 ...

  8. c# aynsc 和 await

      static void Main(string[] args) { Print(); Console.WriteLine("这是主线程"); } public static a ...

  9. 解决IE8下CSS3选择器 :nth-child() 不兼容的问题

    1.定义和用法 :nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型. n 可以是数字.关键词或公式. <ul> <li>1</li> ...

  10. wordpress怎么禁止文章复制

    登陆你的网站后台--点击菜单栏的"外观"--点击"编辑"--在右侧,找到footer.php,打开它--在</body>之前加入以下代码: 1.禁止 ...