日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

pug模板入门

發(fā)布時(shí)間:2023/12/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pug模板入门 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Pug原名不叫Pug,是大名鼎鼎的jade,后來(lái)由于商標(biāo)的原因,改為Pug,哈巴狗。其實(shí)只是換個(gè)名字,語(yǔ)法都與jade一樣。丑話說(shuō)在前面,Pug有它本身的缺點(diǎn)——可移植性差,調(diào)試?yán)щy,性能并不出色,但使用它可以加快開(kāi)發(fā)效率。本文將詳細(xì)介紹pug模板引擎

1.pug中文文檔參考

https://pug.bootcss.com/api/getting-started.html

2.入門示例

1.在原始目錄下建立一個(gè)views目錄,來(lái)存放該 test.pug

htmlheadscriptstylebody

2.把該代碼輸出成一個(gè)html文件,我們可以在源目錄下新建一個(gè)build目錄來(lái)存放生成的文件,那就將剛才的app.js寫成

Var jade = require('pug');//加載jade引擎 var fs = require('fs')var str = jade.renderFile('./views/test.pug' ,{pretty : true }); //pretty : ture 相當(dāng)于beauty格式化一下輸出的代碼 fs.writeFile('./build/test.html' ,str , function(err){if (err)console.log("編譯失敗");elseconsole.log("編譯成功"); })

3.生成的html頁(yè)面

<html><head><script></script><style></style></head><body></body> </html>

4.關(guān)于class/style的寫法——屬性放在()里面,用逗號(hào)分隔

htmlheadscriptstylebodydiv(class=['aaa','bbb','ccc'])//class也可以寫成div(style="aaa bbb ccc")div(style={width:'200px' ,height:'300px' ,background:'red'})//style也可以寫成div(style="width:200px;xxxx")

運(yùn)行一下node.js,則輸出結(jié)果為

<html><head><script></script><style></style></head><body><div class="aaa bbb ccc"></div><!--class也可以寫成div(style="aaa bbb ccc")--><div style="width:200px;height:300px;background:red;"></div><!--style也可以寫成div(style="width:200px;xxxx")--></body> </html>

關(guān)于上方輸出格式,可以發(fā)現(xiàn),style是可以用json傳輸?shù)?#xff0c;class是可以采用數(shù)組傳輸進(jìn)去的。
因此可以在node.js中直接插入相關(guān)屬性數(shù)據(jù),然后在jade文件調(diào)用,這樣就可以很方便的生成不同框架的模板文件
如果你想插入相關(guān)屬性數(shù)據(jù),并調(diào)用的話,應(yīng)當(dāng)在node.js中的 jade.renderFile中如此添加數(shù)據(jù)

var pug = require('pug'); var fs = require('fs');var str = pug.renderFile('./test.pug', { pretty: true, divsytle1: { width: '200px', height: '300px', background: 'blue' }, classarrays:[ 'classname1', 'classname2' ] }); fs.writeFile('./build/test.html', str, function (err) { if (err) console.log("編譯失敗"+err); else console.log("編譯成功"); });

并在test.jade文件中修改如下:

htmlheadscriptstylebodydiv(class=arr)div(style=cls)

運(yùn)行一下,結(jié)果是跟剛才的相同

5、在pug標(biāo)簽中輸入數(shù)據(jù)時(shí),記得在相應(yīng)標(biāo)簽后,加一個(gè)空格

我們通常前端編程的時(shí)候,一般都會(huì)寫到

<div>名稱:DobTink<div>年齡:15</div><script src="a.js"></script><script>window.onload = function () {console.log('測(cè)試輸出');}</script> </div><a href="http://www.dobtink.com">首頁(yè)</a

而在jade中,我們需要這樣來(lái)寫這實(shí)際上是最常見(jiàn)的情況,文本只需要和標(biāo)簽名隔開(kāi)一個(gè)空格即可,
有時(shí)可能想要寫一個(gè)大段文本塊。比如嵌入腳本或者樣式。只需在標(biāo)簽后面接一個(gè) .即可

div 名稱:DobTinkdiv 年齡:15script(src='a.js')script. //注意在script后面加個(gè)點(diǎn)"."window.onload = function () {console.log('測(cè)試輸出');} a(href="http://www.dobtink.com") 首頁(yè)

6、在pug中使用if else switch while 等語(yǔ)句

pug中的 if 使用
Pug 的條件判斷的一般形式的括號(hào)是可選的,所以可以省略掉開(kāi)頭的 -,效果完全相同。類似一個(gè)常規(guī)的 JavaScript 語(yǔ)法形式

htmlheadbody-var a = 15;if a%2 == 0div(style={background:'red'})elsediv(style={background:'green'})

pug中的 switch 使用

htmlheadbody-var a = 3;case awhen 0div aaawhen 1div bbbwhen 2div cccwhen 3div ddddefaultdiv default

7.循環(huán)

Pug 目前支持兩種主要的迭代方式: each 和 while

uleach val in [1, 2, 3, 4, 5]li= val <ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li> </ul>

8. 代碼1

html head title pug學(xué)習(xí) meta(charset='utf-8') script. var message = 'hello pug'; window.function(){ // alert(message); } body div(id='contaner' class='style1') p(id='p1' style={color:'red',fontsize:'20px'}) 用戶名: input(name='username' type='text' placeholder='請(qǐng)輸入用戶名' value=username) br p 密碼: input(name='password' type="password" placeholder='請(qǐng)輸入密碼' value=password)-var k = 10; if(k % 2 === 0) p 登錄成功 else p 用戶名密碼出錯(cuò) div ul each item in week li= item

9. Pug使用css樣式

//-引入內(nèi)部樣式表 style. #container{ background-color: gray; } //-引入外部樣式表 link(rel="stylesheet", href="css/my.css")

3.Html代碼轉(zhuǎn)pug代碼

https://html2jade.org/

4.繼承

Pug 支持使用 block 和 extends 關(guān)鍵字進(jìn)行模板的繼承。一個(gè)稱之為“塊”(block)的代碼塊,可以被子模板覆蓋、替換
示例: 定義父模板 layout.pug

//- layout.pug html head title 我的站點(diǎn) - #{title} block scripts script(src='/jquery.js') body block content block foot #footer p 一些頁(yè)腳的內(nèi)容

子模板 page-a.pug

//- page-a.pug extends layout.pug block scripts script(src='/jquery.js') script(src='/my.js') block content div 正文內(nèi)容 p 子內(nèi)容

5. 包含 include

//- includes/head.pug head title 我的網(wǎng)站 meta(charset='utf-8') script. var message = 'hello pug'; window.function(){ // alert(message); } html //- head //- title pug學(xué)習(xí) //- meta(charset='utf-8') //- script. //- var message = 'hello pug'; //- window.function(){ //- // alert(message); //- } include head.pug body div(id='contaner' class='style1')

6. 注釋

//單行注釋,會(huì)顯示在編譯后的html代碼中 <!--單行注釋,會(huì)顯示在編譯后的html代碼中 --> div 單行注釋 <div>單行注釋</div>//- 單行注釋,不會(huì)顯示在編譯后的html代碼中 div 單行注釋 <div>單行注釋</div> //- 多單注釋 不顯示在html代碼中

7. Express框架集成pug模板

//設(shè)置默認(rèn)模板引擎是pug app.engine('.pug', pug.__express); app.set('view engine', 'pug');

總結(jié)

以上是生活随笔為你收集整理的pug模板入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www精品视频 | 玖草在线观看 | 黑人巨大精品欧美一区二区免费 | 国产精品免费久久 | 国产精品久久久无码一区 | 午夜黄色 | 自拍99页 | 丰满岳乱妇一区二区 | 91精品国产一区二区 | 无码 人妻 在线 视频 | 精品亚洲乱码一区二区 | 一级爱爱免费视频 | 性活交片大全免费看 | 国产精品黄色在线观看 | 午夜激情小视频 | 日韩激情视频网站 | 亚洲三级国产 | 秋霞成人网 | 波多野结衣一区在线 | 久久精品波多野结衣 | 小镇姑娘国语版在线观看免费 | 国产最新在线观看 | 欧美日韩国产免费观看 | 日韩高清黄色 | 激情五月av| 台湾一级视频 | 男人的天堂免费 | 韩日av| 制服丝袜第二页 | 亚洲av成人片色在线观看高潮 | 黄色片成人 | 中文字幕二区在线观看 | 啪啪福利社 | 国产在线播放91 | 苍井空浴缸大战猛男120分钟 | 亚洲人妖在线 | 天天射天天干 | 色一情一区二区三区四区 | 68日本xxxxxⅹxxx59 | 大尺度做爰无遮挡露器官 | 网站免费视频www | 国产精品蜜臀 | xxx一区| 亚洲精品中文字幕乱码三区 | 亚洲AV无码国产日韩久久 | h片网站在线观看 | 日韩特级黄色片 | 日韩精品久久久久久 | 欧美色吊丝 | 成年人的黄色片 | 催眠美妇肉奴系统 | 黄色大片网址 | 欧美日韩网 | 天天干天天插天天操 | 亚洲v| 懂色av,蜜臀av粉嫩av | 香蕉色网| 片集网 | 国产区在线观看视频 | 国产欧美一区二区三区精品酒店 | av网站一区 | 少妇天堂网 | 免费高清视频一区二区三区 | 国产精品久久久久久久裸模 | 西西午夜 | 国产一区二区黄色 | 五月婷婷六月合 | av永久免费 | 成人av电影网站 | 天堂av中文在线观看 | 日日操狠狠干 | 亚洲少妇18p | av网址网站| caoporen在线| 99精品视频99 | 视频一区二区视频 | 久久加久久 | 亚洲黄色网络 | 国产精品乱子伦 | 妻色成人网 | 伊人网免费视频 | 少妇又紧又色又爽又刺激视频 | 国产精品无码久久久久 | 日韩精品成人在线观看 | 亚洲av片一区二区三区 | 国产欧美一区二区精品性色 | 日韩欧美高清在线 | 日本在线不卡一区 | 亚洲午夜精品久久久久久浪潮 | caopeng在线| 中文字幕亚洲精品在线 | 日韩激情欧美 | 国产一区二区免费 | 久久伊人成人网 | 黑人巨大精品欧美一区免费视频 | 久久久精品免费观看 | 欧美在线一级视频 | 欧美综合网站 | 蜜臀av性久久久久蜜臀aⅴ四虎 |