Pug学习
1. 理解
Pug是一款健壮、灵活、功能丰富的HTML模板引擎,专门为 Node.js 平台开发。Pug是由Jade 改名而来。
是一种通过缩进(表示标签间的嵌套关系)的方式来编写代码的过程,在编译的过程中,不需要考虑标签是否闭合的问题。可以加快写代码速度,也为代码复用提供了便捷。
2. 命令行
将pug格式转化为HTML的时候输入命令pug -P xxx.pug
自动更新 pug -P -w xxx.pug
有自定义目录的需求,则需要设置-o参数
3. 结构语法
结构语法:
1. 标签:HTML 代码的树状结构
2. 属性:紧跟着标签写在括号里,用,隔开(不加逗号也是允许的),class和id可以直接写在元素后面,例如#pug.pug表示的就是一个div标签
3. 内容:
a. 直接在标签后面加文本,注意文本和标签之间要有空格
b. 在标签的下一行,对每一行内容前面加管道符号(|)
c. 大的纯文本块只需要在标签后面紧接一个点 . (在标签和点之间不要有空格)。块内的纯文本内容必须缩进一层
注意:空格控制
Pug 删掉缩进,以及所有元素间的空格。 Pug 保留符合以下条件的元素内的空格: 一行文本之中所有中间的空格; 在块的缩进后的开头的空格; 一行末尾的空格; 纯文本块、或者连续的管道文本行之间的换行。
4. 注释:
// 单行注释
//- 非缓冲注释
//(换行) 给模板写的块注释
<!–[if IE 8]> … <![endif]–> 条件注释
5. 变量
(1).变量赋值:
– var text = pug
调用:
[内容变量] :div=text或div#{text}
[属性赋值]:value=text
(2). 变量获取:
a. 命令行直接赋值 pug ./views/index.pug -P -w –obj “{‘text’:’pug’}”
b. 新建一个JSON文件,写入{“text”:”study pug”},然后通过命令行
pug ./views/index.pug -P -w -O ./views/text.json
(3).变量转义
转义div #{cont} 或 div=cont
不转义 div!=cont 或 div !{cont}
输出原内容div \#{cont} 或 div \!{cont}
6. 循环
a. for循环: 必须加 – 标识
b. each循环:– 标识可以省略, each value,key in test中的value和key不能换位置
c. while 循环
d. 条件循环:if else 判断 和 case 判断
7. mixin混入
是一种允许您在 Pug 中重复使用一整个代码块的方法。
//mixin 定义
mixintest
p study pug
//mixin 调用
+test
可传参数、嵌套、内联代码块、传递属性(有两种方法,第一种可以通过p(class=attributes.class)取到特定的属性,第二种可以通过p&attributes(attributes)取到全部的属性)、传递不确定数量的参数(用…items 表示)
8. include包含
解决的是文件和文件之间,文件和区块之间代码复用的问题,可以引入.pug和原生的.html文件(记得带上后缀)。
9. 继承与扩展
解决的是子文件和父文件之间的代码复用问题,子文件的代码可以覆盖和扩展父文件的代码
//父文件.pug
block test
代码块1
//子文件.pug
extends 父文件.pug
block test
代码块2
//那在最后输出的时候应该输出代码块2的内容
相关文章
- 手把手教你Python学习!(附流程图)「建议收藏」
- Flutter异常捕获 | 从bugsnag源码学习如何追溯异常产生路径
- 【2023新书】机器学习中的表示学习
- 原创 | 一文读懂机器学习中的shapley值方法
- 面向联邦学习的模型测试和调优怎么整?这篇三万字长文给你答案
- 贴近企业生产,学习MongoDB知识技能
- 轻松学习 JavaScript——第 4 部分:函数中的 arguments 对象详解编程语言
- Ubuntu下学习Linux开发环境(linuxldk)
- 学习MySQL:免费视频下载(mysql学习视频下载)
- 微软扩大Win10 21H1测试范围 利用AI学习了解用户体验
- Linux下学习编程,逐步挑战i(linuxi)
- MySQL 中文检索优化技巧学习(mysql中文检索)
- 推荐最佳的经典MySQL书籍:详细介绍、案例分析及高效学习。(经典mysql书籍)
- 学习Mysql如何从零开始学习法语(mysql法语)
- 学习PHP MySQL配置的基础知识(phpmysql配置)
- 最好用Linux学习,哪个系统最适合?(学习linux用什么系统)
- MySQL学习之上传DLL命令详解(mysql上传dll命令)
- 学习python处理python编码问题