html <html></html> html <html> head <head> style <style></style>
</head> body <body> div <div></div> div <div></div>
</body>
</html>
左邊渲染完就是右邊css
const jade = require('jade'); var str = jade.render('html'); // render()表示渲染
console.log(str); // 此時輸出:<html></html>
// 1.jade內容:
html head script style body div ul li li li // jade2.js內容:
const jade = require('jade'); var str = jade.renderFile('./work/view/1.jade'); // rendeFile()表示渲染文件
console.log(str); // 此時輸出:<html><head><script></script><style></style></head><body><div><ul><li></li><li></li><li></li></ul></div></body></html>
// jade2.js內容:美化
const jade = require('jade'); var str = jade.renderFile('./work/view/1.jade',{pretty:true}); // pretty:true對輸出進行美化,只開發用,開發完實際使用時不須要
console.log(str); // 此時輸出:
<html>
<head>
<script></script>
<style></style>
</head>
<body>
<div>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
</html>
// 2.jade內容:
html head script(src="a.js") style(type="text/css") link(type="text/css",rel="stylesheet") body div ul(id="box") li input(type="text",id="txt1",value="111") li input(type="text",id="txt1",value="111") li input(type="text",id="txt1",value="111") // jade2.js內容:
const jade = require('jade'); var str = jade.renderFile('./work/lesson12/view/2.jade',{pretty:true}); // render()表示渲染
console.log(str); // 此時輸出:
<html>
<head>
<script src="a.js"></script>
<style type="text/css"></style>
<link type="text/css" rel="stylesheet"/>
</head>
<body>
<div>
<ul id="box">
<li>
<input type="text" id="txt1" value="111"/>
</li>
<li>
<input type="text" id="txt1" value="111"/>
</li>
<li>
<input type="text" id="txt1" value="111"/>
</li>
</ul>
</div>
</body>
</html>
html head script style(type="text/css") link(type="text/css",rel="stylesheet") body div(style="width:200px;height:200px;background:red") // 普通屬性寫法
div(style={width:'200px', height:'200px', background:'red'}) // json寫法
// 此時輸出: <html>
<head>
<script></script>
<style type="text/css"></style>
<link type="text/css" rel="stylesheet"/>
</head>
<body>
<div style="width:200px;height:200px;background:red"></div>
<div style="width:200px;height:200px;background:red"></div>
<div title="[object Object]"></div>
</body>
</html>
html head script style(type="text/css") link(type="text/css",rel="stylesheet") body div(class="aaa bbb ccc") div(class=["aaa","bbb","ccc"]) div(title=["aaa","bbb","ccc"]) // 此時輸出: <html>
<head>
<script></script>
<style type="text/css"></style>
<link type="text/css" rel="stylesheet"/>
</head>
<body>
<div class="aaa bbb ccc"></div>
<div class="aaa bbb ccc"></div>
<div title="aaa,bbb,ccc"></div>
</body>
</html>
html head script style(type="text/css") link(type="text/css",rel="stylesheet") body div.aaa // 一個class
div#box // 一個id
div.aaa.bbb // 多個class
div#box.aaa // id和class混用
// 此時輸出: <html>
<head>
<script></script>
<style type="text/css"></style>
<link type="text/css" rel="stylesheet"/>
</head>
<body>
<div class="aaa"></div>
<div id="box"></div>
<div class="aaa bbb"></div>
</body>
</html>
html head script style(type="text/css") link(type="text/css",rel="stylesheet") body div.aaa(title="bbb") div#box div.aaa.bbb // 此時輸出:
<html>
<head>
<script></script>
<style type="text/css"></style>
<link type="text/css" rel="stylesheet"/>
</head>
<body>
<div title="bbb" class="aaa"></div>
<div id="box"></div>
<div class="aaa bbb"></div>
</body>
</html>
html head script style(type="text/css") link(type="text/css",rel="stylesheet") body div&attributes({id:'box',class:'aaa'}) // 使用&attributes寫成json格式
此時輸出: <html>
<head>
<script></script>
<style type="text/css"></style>
<link type="text/css" rel="stylesheet"/>
</head>
<body>
<div id="box" class="aaa"></div>
</body>
// Jade3.js內容:
const jade = require('jade'); const fs = require('fs'); var str = jade.renderFile('./work/lesson12/view/2.jade',{pretty:true}); fs.writeFile("./work/lesson12/build/a.html",str,function(err){ if(err){ console.log("失敗"); }else { console.log("成功"); } }); // 此時發現build文件夾下多了一個a.html // 此時a.html內容:
<html>
<head>
<script src="a.js"></script>
<style type="text/css"></style>
<link type="text/css" rel="stylesheet"/>
</head>
<body>
<div>
<ul id="box">
<li>
<input type="text" id="txt1" value="111"/>
</li>
<li>
<input type="text" id="txt1" value="111"/>
</li>
<li>
<input type="text" id="txt1" value="111"/>
</li>
</ul>
</div>
</body>
</html>
// 3.jade內容:
html head script(src="a.js") alert("aaa") style(type="text/css") div{background:red;} link(type="text/css",rel="stylesheet") body div(id="box") hello word p hi a(href="http://www.baidu.com") 哈哈哈 a(href="http://www.baidu.com") 嘿嘿嘿 // jade4.js內容:
const jade = require('jade'); const fs = require('fs'); var str = jade.renderFile('./work/lesson12/view/3.jade',{pretty:true}); // render()表示渲染
fs.writeFile("./work/lesson12/build/c.html",str,function(err){ if(err){ console.log("失敗"); }else { console.log("成功"); } }); // 此時生成c.html:
<html>
<head>
<script src="a.js">alert("aaa")</script>
<style type="text/css">div{background:red;}</style>
<link type="text/css" rel="stylesheet"/>
</head>
<body>
<div id="box">hello word <p>hi</p><a href="http://www.baidu.com">哈哈哈</a><a href="http://www.baidu.com">嘿嘿嘿</a>
</div>
</body>
</html>
// 錯誤寫法:
html head script(src="a.js") window.onload = function(){ var oBtn = document.getElementById("div"); } style(type="text/css") div{background:red;} link(type="text/css",rel="stylesheet") body
總結:
jade
1.根據縮進,規定層級
2.屬性放在()裏面,逗號分隔 script(src="a.js",type="text/script")
3.內容空個格,直接日後堆 a(href="http://www.zhinengshe.com/") 官網html
Style屬性的兩種寫法:
1.普通屬性寫法
({style="width:200px; height:200px; background:red"})
2.json寫法(若是屬性值是動態的,是傳進來的,用json就很方便了)
(style={width:'200px', height:'200px', background:'red'})node
Class屬性的兩種寫法:
1.普通屬性寫法
({class="aaa bbb ccc"})
2.數組寫法(若是屬性值是動態的,是傳進來的,用json就很方便了)
({class=["aaa","bbb","ccc"]})json
class和id屬性簡寫:
1.添加一個class
.類名
2.添加多個class
.類名.類名
3.添加一個id
#id名數組
屬性的另外一種寫法:
使用&attributes:代表屬性是json形式less
jade.render('字符串');
jade.renderFile('模板文件名', 參數)ui
注:簡寫和非簡寫可混合使用spa