前端學習 Pug模板

2021-08-20 02:17:05 字數 2386 閱讀 4679

1.類名和id名

a.button

a(class="button")

a#button

a(id = "button")

編譯後:

如果前面沒指定標籤名,則預設div

2.屬性

用()包裹,屬性值之間用逗號隔開。可實現根據條件設定屬性的語法形式

&atrributes() 更方便新增自定義屬性

3.文字內容

a(href="google.com",title ="google") hello world

多行文字:

p.******x

******

***或者

p|***xhey

|***x

|xx4.變數

-var htmldata ='srf

p#  或者 p=htmldata

p!=htmldata  或者 p!

5.注釋

jade支援兩種注釋:單行注釋和多行注釋。沒中注釋支援兩種模式:輸出原始檔和不輸出原始檔

//單行輸出

//-單行不輸出

多行輸出

多行不輸出

6. **嵌入

6.1 第一種方式 - ,特殊字元不會被轉義

- for(var x=0;x<3;x++)

li 編譯後:

6.2 第二種方式:使用= 特殊字元會被轉義

p= 'this code is !'

編譯之後:this code is <:escaped >:!

6.3第三種方式:使用 !=

p!='this code is !'

編譯之後:this code is!

7. 插值語法

預先指定乙個位置,方便以後插入乙個新值,簡稱插值。

轉義字串插值 #{} :-var thegreat = "escape!";

p this will be safe: #

不轉義字串插值 !{}:-var thegreat = "escape!";

p this be safe: !

標籤插值:p#[a(href ="jade-lang.com") jade]

編譯生成:

this will be safe:<:span>:escape!<:/span>:

this will be safe: escape!

jade

7.條件語句 if……else…… /unless      

case ……when……

jade中沒有類似與break語法,所有條件預設一種輸出

8.遍歷語句

使用each對陣列和物件遍歷

//遍歷陣列

uleach val,index in ['zero','one','two']

li = index +':'+val

//遍歷物件

uleach val,index in

li = index +':' + val;

9. mixins 混合巨集 ,具有復用、解耦、可讀、可擴,可維護。建立混合巨集例項時,需要使用+識別符號

mixin list

ulli foo

li bar 

li baz

+list

+list 

混合巨集還可以用來傳遞引數

mixin pet(name)

li.pet = name

ul+pet('cat')

+pet('dog')

+pet('pig')

還可以用...識別符號表示不數量的引數。

需要替換混合巨集的某個部分,那麼就可以使用block識別符號來佔位

有關屬性的混合巨集:

mixin link(href, name)

a(href=href)&attributes(attributes)=name

+link('/foo','foo')(class = "btn")

編譯後:foo

10.includes

實現高度復用的另一種方式就是將**片段儲存到不同檔案中,然後再需要匯入的地方匯入。

11.extends

//- layout.jade

doctype html

html

head

block title

title default title

body

block content

//- index.jade

extends ./layout.jade

block title

title article title

block content

h1 my article

pug模板引擎

其實檔案結構啥的是為了業務邏輯更加清晰 index是主頁面,從default繼承.default裡面也include了includes檔案裡的內容,乙個是css樣式link,乙個是js的原始檔script extends layouts default block title title koa d...

pug新手學習

感覺自己有段時間沒有跟新了,唉,只是一直找不到可以寫的必要 其實我一直對pug特別感興趣的,安裝點我 記得全域性安裝pug和pug cli就行了 在webstorm配環境記得在前面加 p a img內聯式語法 input 自閉合 button.btn.btn tt.btn aaa type butt...

Pug模板繼承與拓展

pug 支援使用block和extends關鍵字進行模板的繼承 block代表乙個 塊 一 塊的替換 如下 便有三個 塊block scripts,block content,block foot layout.pug html head title 我的站點 block scripts scrip...