项目搭建
npm install -g vue-cli
选用的是Koa框架 fire 是项目名称
vue init nuxt/koa fire
cd fire
npm install
npm run dev
jade的学习
npm install -g jade
jade -P -w index.jade
doctype html
html
//ie6,7,8
<!--[if IE 8]><html class="ie8"><![endif]-->
<!--[if IE 9]><html class="ie9"><![endif]-->
<!--[if IE]><html class="ie"><![endif]-->
head
meta(charset='utf-8')
title jade study
body
h2 注释
//div 单行注释//
section.title.title2#sectionID
h2 非缓冲注释 //-
//- #dkkdk
h2 块注释
//-
div
strong eb
span dk
div
strong eb
span dk
h2 div是比较特别的标签 可以直接用#action.logo,可以不加div
#action.logo
a(href="#",id="logo",class="font") baidu
input(type="text",name="jade",value="jade")
input(type="checkbox",name="jade",checked)
br
p.
1 kd
1 kd
1 kd
1 kd
1 kd
br
p
| 1 dkk
span dd
| 1 dkk
strong dkdkd
| 1 dkk
| 1 dkk
</html>
//编译以后
<!DOCTYPE html>
<html>
<!--ie6,7,8-->
</html><!--[if IE 8]><html class="ie8"><![endif]-->
<!--[if IE 9]><html class="ie9"><![endif]-->
<!--[if IE]><html class="ie"><![endif]-->
<head>
<meta charset="utf-8">
<title>jade study</title>
</head>
<body>
<h2>注释</h2>
<!--div 单行注释//-->
<section id="sectionID" class="title title2"></section>
<h2>非缓冲注释 //-</h2>
<h2>块注释</h2>
<div><strong>eb</strong><span>dk</span></div>
<h2>div是比较特别的标签 可以直接用#action.logo,可以不加div</h2>
<div id="action" class="logo"><a href="#" id="logo" class="font">baidu</a>
<input type="text" name="jade" value="jade">
<input type="checkbox" name="jade" checked><br>
<p>
1 kd
1 kd
1 kd
1 kd
1 kd
</p><br>
<p>1 dkk<span>dd</span>1 dkk<strong>dkdkd</strong>1 dkk
1 dkk
</p>
</div>
</body></html>
- var test = 'jade'
- let test = 'jade'
- const test = 'jade'
二种接收变理的方式
p #{test}
p = test
doctype html
html
head
meta(charset='utf-8')
- var test = 'jade'
title #{test.toUpperCase()}变量声明
body
- var tests = 'demo'
- const demo = 'test'
div#test #{tests}
p = tests
p = demo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JADE变量声明</title>
</head>
<body>
<div id="test">demo
<p>= tests</p>
<p>= demo</p>
</div>
</body>
</html>
- jade 数据传送(命令行和json格式和后端传输)
- 命令行传递数据
jade index1.jade -P -w -obj '{"demo":"jade03"}'
cd 指定目录下
jade index1.jade -P -w -O demo.json
- 数据传输的优先级(页面的变更> 传递过来的变量)
- jade转义
doctype html
html
head
meta(charset='utf-8')
- var test = 'jade'
title #{test.toUpperCase()}变量声明
body
- var tests = 'demo'
- let htmlData= '<script>alert(1)</script><span>script</span>'
div#test #{tests}
p #{htmlData}
p !{htmlData}
p = htmlData
p != htmlData
//如果要输出#{htmlData}或者!{htmlData}格式
p \#{htmlData}
p \!{htmlData}
//不出现undefind
input(value=newData)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JADE变量声明</title>
</head>
<body>
<div id="test">demo
<p><script>alert(1)</script><span>script</span></p>
<p><script>alert(1)</script><span>script</span></p>
<p>= htmlData</p>
<p>!= htmlData</p>
<!--如果要输出#{htmlData}或者!{htmlData}格式-->
<p>#{htmlData}</p>
<p>!{htmlData}</p>
<!--不出现undefind-->
<input>
</div>
</body>
</html>
//for 循环
- let obj = {a:"apple",b:"blue"}
- for ( k in obj)
//注意标签一定要和for对齐不要和 - 对齐
p= obj[k]
//each循环
- let arr = ["2","3","4"]
- let objName ={"1":"test","2":"demo"}
- each val,key in arr
p= val+"val"
p= key+"key"
- each val,key in objName
p= val+"val"
p= val+"key"
//嵌套循环
- let sections = [{title:'test',items:[1,2,3]},{title:'demo',items:[4,5,6]}]
dl
- each self in sections
dt= self.title
- each item,key in self.items
dd= item
//while循环
- n = 0
ul
- while (n<4)
li= n++
doctype
html
head
meta(charset='utf-8')
- let title = 'jade循环'
title= title
body
//for 循环
- let obj = {a:"apple",b:"blue"}
- for ( k in obj)
//注意标签一定要和for对齐不要和 - 对齐
p= obj[k]
br
//each循环
- let arr = ["2","3","4"]
- let objName ={"1":"test","2":"demo"}
- each val,key in arr
p= val+"val"
p= key+"key"
- each val,key in objName
p= val+"val"
p= val+"key"
//嵌套循环
- let sections = [{title:'test',items:[1,2,3]},{title:'demo',items:[4,5,6]}]
dl
- each self in sections
dt= self.title
- each item,key in self.items
dd= item
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jade循环</title>
</head>
<body>
<!--for 循环-->
<!--注意标签一定要和for对齐不要和 - 对齐-->
<p>apple</p>
<!--注意标签一定要和for对齐不要和 - 对齐-->
<p>blue</p><br>
<!--each循环-->
<p>2val</p>
<p>0key</p>
<p>3val</p>
<p>1key</p>
<p>4val</p>
<p>2key</p>
<p>testval</p>
<p>testkey</p>
<p>demoval</p>
<p>demokey</p>
<!--嵌套循环-->
<dl>
<dt>test</dt>
<dd>1</dd>
<dd>2</dd>
<dd>3</dd>
<dt>demo</dt>
<dd>4</dd>
<dd>5</dd>
<dd>6</dd>
</dl>
<!--while循环-->
<ul>
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</body>
</html>
//条件语句 if/else
- let isBoolen = true
- let arr = ["jade","express"]
if arr
if arr.length >2
p #{arr.join(",")}
else if arr.length >1
p= arr.join(",")
else
p not found
else
p not found
unless !arr
p=arr.length
- 正常的switch case 语句 变成 case when 语句
//switch case语句 变成 case when 语句
- let name = 'jade'
case name
when 'jade'
p hi jade
when 'jave'
p hi java
when 'koa'
p hi koa
default
p no
doctype
html
head
meta(charset='utf-8')
- let title ='jade的条件语句'
title= title
body
//条件语句 if/else
- let isBoolen = true
- let arr = ["jade","express"]
if arr
if arr.length >2
p #{arr.join(",")}
else if arr.length >1
p= arr.join(",")
else
p not found
else
p not found
//unless 取反
unless !arr
p=arr.length
//switch case语句 变成 case when 语句
- let name = 'jade'
case name
when 'jade'
p hi jade
when 'jave'
p hi java
when 'koa'
p hi koa
default
p no
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jade的条件语句</title>
</head>
<body>
<!--条件语句 if/else-->
<p>jade,express</p>
<!--unless 取反-->
<p>2</p>
<!--switch case语句 变成 case when 语句-->
<p>hi jade</p>
</body>
</html>
- jade 重复代码块的使用mixin函数
- mixin不带参数
mixin test
p jade study
//调用mixin函数
+test
+test
//mixin带参数
mixin fn(testName,arr)
p=testName
ul.test
each item in arr
li=item
//调用mixin函数
+fn("jade",["one","two","tree"])
//嵌套的mixin函数
mixin group(obj)
p=obj.name
+fn(obj.name,obj.arr)
+group({name:"jade",arr:[1,2,3,4]})
//mixin代码块的传递
mixin tblock(names)
p= names
if blcok
block
else
p not found
+tblock('jade')
//mixin属性的传递
mixin attr(name)
p(class != attributes.class)= name
+attr('attr')(class="demo")
mixin attrs(name)
p&attributes(attributes)= name
+attrs('jade')(class="test",id="demo")
mixin testDemo(name, ...items)
ul(class="#{name}")
each item in items
li= item
+testDemo('jade','node','java','python')
doctype
html
head
meta(charset='utf-8')
- let title = 'jade mixin 属性'
title= title
body
//重复的代码块可以用mixin,mixin是一个函数可以传多个参数
//mixin不带参数
mixin test
p jade study
//调用mixin函数
+test
+test
//mixin带参数
mixin fn(testName,arr)
p=testName
ul.test
each item in arr
li=item
//调用mixin函数
+fn("jade",["one","two","tree"])
//嵌套的mixin函数
mixin group(obj)
p=obj.name
+fn(obj.name,obj.arr)
+group({name:"jade",arr:[1,2,3,4]})
//mixin代码块的传递
mixin tblock(names)
p= names
if blcok
block
else
p not found
+tblock('jade')
//mixin属性的传递
mixin attr(name)
p(class != attributes.class)= name
+attr('attr')(class="demo")
//常用的传递方式
mixin attrs(name)
p&attributes(attributes)= name
+attrs('jade')(class="test",id="demo")
//mixin传递不确定参数
mixin testDemo(name, ...items)
ul(class="#{name}")
each item in items
li= item
+testDemo('jade','node','java','python')
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jade mixin 属性</title>
</head>
<body>
<!--重复的代码块可以用mixin,mixin是一个函数可以传多个参数-->
<!--mixin不带参数-->
<!--调用mixin函数-->
<p>jade study</p>
<p>jade study</p>
<!--mixin带参数-->
<!--调用mixin函数-->
<p>jade</p>
<ul class="test">
<li>one</li>
<li>two</li>
<li>tree</li>
</ul>
<!--嵌套的mixin函数-->
<p>jade</p>
<p>jade</p>
<ul class="test">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<!--mixin代码块的传递-->
<p>jade
<p>not found</p></p>
<!--mixin属性的传递-->
<p class="demo">attr</p>
<!--常用的传递方式-->
<p id="demo" class="test">jade</p>
<!--mixin传递不确定参数-->
<ul class="jade">
<li>node</li>
<li>java</li>
<li>python</li>
</ul>
</body>
</html>