之前在建站:Node+MongoDb+Express简单实例一文中使用过express
,本文就来介绍下express
的jade
模板引擎,为什么不介绍另一个express
默认的模板引擎ejs
了,因为我觉得jade
更简洁,更符合我个人的喜好
注:jade
因为版权问题已改名为pug
了,具体可看这Renaming jade -> pug
安装执行
全局安装:
sudo npm install -g jade
接下来我们先看下jade
命令的常用参数,,注意区分大小写
我们接着新建一个index.jade
文件,代码如下所示很简单:
doctype
html
head
title hello
body
h1 hello world
接着在命令行执行jade index.jade
,编译后的文件index.html
内容如下:
hello hello world
可以发现默认编译后的源码是被压缩过的,没有缩进不利于阅读,我们可以加上-P
参数后就发现源码是经过被美化过的了
jade -P index.jade
hello
hello world
不过每次修改后都需要到终端重新编译,有点过于麻烦,我们可以加上-w
参数实时监听文件变化保存后自动重新编译
jade -w -P index.jade
标签
在html
代码里标签基本都是成对存在的,包裹在尖括号里面,而在jade
模板引擎里,不需要使用尖括号而且也不用成对存在,标签与标签之间的嵌套关系通过换行何缩进实现,比如以下代码:
doctype
html
head
title hello world
body
h1 hello
span world
h1 test
//编译执行后结果:
hello world
helloworld
test
属性和文本
属性写在标签名后的括号内,多个属性用逗号分隔,css类名
以及id名
还可以直接通过与写css
代码相同的形式紧贴在标签名后面,如果标签名未写,默认为div
标签
标签名后第一个空格后面的内容会被编译成标签内的文本内容
doctype
html
head
title hello world
body
a(id="aId" class="aClass" href="https://www.luckyw.cn",target="_blank") luckyw
#divId.divClass hello world
//编译执行后结果:
hello world
luckyw
hello world
>