jade 详解
简介
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 详解的更多相关文章
- 模板引擎Jade详解
有用的符号: | 竖杠后的字符会被原样输出 · 点表示下一级的所有字符都会被原样输出,不再被识别.(就是|的升级版,实现批量) include 表示引用外部文件 短杠说明后面跟着的字符只是一段代码(与 ...
- Angular2 入门详解
AngularJS 2 快速入门 npm是什么? npm其实是Node.js Package Manager的简称,是Node.js包管理工具(package manager) 安装Node.js ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
随机推荐
- Algorithm --> KMP算法
KMP算法 一.传统字符串匹配算法 /* * 从s中第sIndex位置开始匹配p * 若匹配成功,返回s中模式串p的起始index * 若匹配失败,返回-1 */ ) { ; || p.length( ...
- [mysql] MySQL解压缩安装步骤
以前装的MySQL出问题了,只好卸载了. 又下载了一个mysql-5.6.24-win32.1432006610.zip.msi文件直接安装就行了.这里需要解压到指定目录,配置后可使用. 环境变量配置 ...
- Matlab绘图基础——图形绘制的插值
interp1 %1-D data interpolation interpft %使用fft算法插值 %将原数据x转换到频率域,再逆转换回来更密集的数据采样点 spline %一 ...
- 爬虫(BeautifulSoup--select--class的选择)
<div class="item name" title="中央公园"> <a href="/Attraction_Review-g ...
- 201621123050 《Java程序设计》第7周学习总结
1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. 1.事件:用户的操作,例如点击或输入之类的操作 2. ...
- 201621123044《JAVA程序设计》第一周学习总结
1. 本周学习总结 1.了解了JAVA的诞生以及发展历史简介.JAVA语言的特点,以及JAVA的电脑安装以及环境配置. 2.JAVA不仅可以用eclipse进行编写,也可以在记事本和notepad++ ...
- "一不小心就火了"团队采访
团队采访 一. 采访团队 团队:一不小心就火了 采访形式:线上问答 二.采访内容 你们是怎么合理地具体分配组员里的工作的?有些团队会出现个别组员代码任务很重,个别组员无所事事的情况,你们有什么有效的方 ...
- c# windows service 实现监控其他程序是否被关闭,关闭则报警
namespace MonitorService { public partial class MonitorSv : ServiceBase { string AppName = "&qu ...
- 获取选中的radio的value值
html:<div id="bb"> <input name="cc" type="radio" value=" ...
- Zepto.js库touch模块代码解析
Zepto.js也许并不陌生,专门针对移动端开发,Zepto有一些基本的触摸事件可以用来做触摸屏交互(tap事件.swipe事件),Zepto是不支持IE浏览器的. 下面来解析一些Zepto.js触摸 ...