jade模板引擎
jade是一种源于node的模板引擎,可以直接通过json对象渲染出html页面。
本文参考《jade-源于Node.js的html模板引擎》等网络文章对其基础特性进行梳理:
1、赋值
#user #{name} <#{email}>
此处#user会生成一个id为user的div,同时利用name和email进行赋值,结果为:<div id="user">fredric <fredric@qq.com></div>
2、注释
采用简单的双斜杠即可,html端会自动生成<!-- -->
3、嵌套
ul
li.first
a(href='#') foo
li
a(href='#') bar
li.last
a(href='#') baz
html动态生成如下:
4、条件选择
case friends
when 0
p you have no friends
when 1
p you have a friend
default
p you have #{friends} friends
上例中将根据node渲染时给出的friends变量值生成html。
5、表单输入
input(type='checkbox',
name='agreement',
checked)
a(href='/user/' + user.id)= user.name
生成html如下:
6、条件判断
//- if
- if (items.length)
ul
- items.forEach(function(item){
li= item
- })
// for
for user in users
- if (user.role == 'admin')
p #{user.name} is an admin
- else
p= user.name
生成html如下:
7、继承
7.1 定义模板
html
head
h1 My Site - #{title}
block scripts
script(src='../jquery.js')
body
block content
block foot
#footer
p some footer content
此时content block为空,生成的html无该部分数据。
7.2 继承模板
extends demo02-layout
block scripts
script(src='pets.js')
block content
h1= title
ul
each pet in pets
li #{pet}
include demo04
7.3 include
include 可以签入一个静态的jade文件,如下:
a(href="javascript:void(0)", onclick="call(#{pet})")= pet
其中call在pets.js中定义,显示效果如下,点击每个连接后会弹出一个提示框,对应pet的值。
8. 工具
jade2html在线工具:http://html2jade.vida.io/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)