Jade/pug-HTML模板引擎
来源:互联网 发布:剑与家园 知乎 编辑:程序博客网 时间:2024/06/11 21:11
基本介绍
Jade 是一个高性能的模板引擎,它深受 Haml 影响(缩进关系表示嵌套关系),它是用 JavaScript 实现的,并且可以供 Node 使用。
我们可以通过node的npm来安装jade,具体详细步骤这里就不做介绍了,下面直接来看看代码:
index.jade文件
doctype html<!--[if IE 8]><html class='ie8'><![endif]--><!--[if IE 9]><html class='ie9'><![endif]--><!--[if !IE]><!--><html><!--<![endif]-->head meta(charset='utf-8') title jadebody //- var say = "good" -var name = "zhangsan" h1 this is first jade1 h1 #{hello} //使用=和.的作用,注意都是紧挨在标签元素后面 h1= name p. #{say} #{user} //直接以#或者.开始的直接生成div标签 #div //-非缓存注释 input(type="text",name='agreement') ul li.first: a(href="#") 跳转 - var jobs = {"catagory" : "fe", "company" : "wandoujia", "local" : "beijing"} each val,key in jobs li #{key} : #{val} - var users = [{ id: 12, name: 'tobi',role:'user' },{id:12,name:'admin',role:'admin'}] for user in users if user.role == 'admin' p #{user.name} is an admin else p= user.name</html>
使用下面jade命令来编译文件
jade index.jade -P -w -O data.json
-P格式化输出
-w 检测文件修改,类似热启动
-O 制定外部json文件数据,当修改了json文件数据,必需重新执行上面的命令
结果如下:
<!DOCTYPE html><!--[if IE 8]><html class='ie8'><![endif]--><!--[if IE 9]><html class='ie9'><![endif]--><!--[if !IE]><!--><html><!--<![endif]--><head> <meta charset="utf-8"> <title>jade</title></head><body> <h1>this is first jade1</h1> <h1>world</h1> <h1>zhangsan</h1> <p> good chm </p> <!--直接以#或者.开始的直接生成div标签--> <div id="div"></div> <input type="text" name="agreement"> <ul> <li class="first"><a href="#">跳转</a></li> </ul> <li>catagory : fe</li> <li>company : wandoujia</li> <li>local : beijing</li> <p>tobi</p> <p>admin is an admin</p></body></html>
jade提供许多高级的语法比如:
- Mixins
- 模板继承
- 过滤器
具体语法可以参看源于Node.js 的 HTML 模板引擎,或者这里。
nodejs中使用jade
jade核心api
- compile(source, options)
- compileFile(path, options)
- compileClient(source, options)
- render(source, options)
- renderFile(filename, options)
上面所有的方法中options有下面一套参数
看看下面的代码如何使用jade:
var http = require("http");var jade = require("jade");http.createServer(function(req, res){ res.writeHead(200, {"Content-Type":"text/html"}); // var fn = jade.compile('div #{course}',{}); // var html = fn({course:"jade complier"}); // var html = jade.render("div #{course}", {course:"jade render"}); var html = jade.renderFile("jade/index.jade",{"say":"good","hello":"world","user":"chm"}); res.end(html);}).listen(1337,"127.0.0.1");
在浏览器中显示的结果:
1 0
- Jade/pug-HTML模板引擎
- Webpack 3.x 尝试使用Pug(Jade)模板引擎
- pug--HTML模板引擎安装编译
- pug--HTML模板引擎安装编译
- 在angular-cli项目中使用Scss和Pug(Jade)模板引擎
- 在Angular-cli中使用Pug(Jade)模板
- Jade模板引擎入门教程
- Jade模板引擎入门教程
- Jade模板引擎入门教程
- Node Jade模板引擎
- Jade模板引擎入门教程
- Jade - 模板引擎
- jade模板引擎入门教程
- Jade 模板引擎使用
- Jade 模板引擎使用
- 模板引擎Jade
- Jade模板引擎
- Jade模板引擎教程
- Error:Execution failed for task ':app:mergeDebugResources'. > Error: java.lang.RuntimeException: Som
- 乱用函数导致sql变慢
- LCS-51NOD-1092 回文字符串
- Ubuntu 16.04 CUDA 8 cuDNN 5.1安装
- PAT (Basic Level) Practise (中文)1015. 德才论(3种方法)
- Jade/pug-HTML模板引擎
- paint 的介绍
- 《机器学习实战》读后备忘
- Effective Java 学习笔记《二》 构建器
- 程序员之终于遇到你
- Handler,Looper ,Message和MessageQueue 之间的关系
- 类的公有继承,私有继承,protected特点
- Go语言http.Get()超时设置
- 一句话概括下spring框架及spring cloud框架主要组件