基于Node.js模板引擎教程-jade速学与实战1

前端之家收集整理的这篇文章主要介绍了基于Node.js模板引擎教程-jade速学与实战1前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

环境准备:

全局安装jade: npm install jade -g

初始化项目package.json: npm init --yes

安装完成之后,可以使用 jade --help 查看jade的命令行用法

一、在项目目录下新建index.jade文件

inde.jade代码

Meta(charset='utf-8') title body h3 欢迎学习jade

1,标签按照html的缩进格式写

2,标签属性可以采用圆括号

3,如果标签内容,可以直接写在标签的后面

然后在命令行用 jade -P index.jade 把index.jade文件编译成index.html文件,-P( 把代码整理成缩进格式的,如果不带这个参数,index.html就是压缩格式,不利于阅读)

编译之后的index.HTML代码

<Meta charset="utf-8">

欢迎学习jade

二、class,id等其他属性与多行文本的书写

新建index2.jade文件,代码如下:

Meta(charset='utf8') title jade template engine body h1 jade template engine h1 jade template engine h1 jade template engine h1 jade template engine div#Box.Box1.Box2(class='Box3') #abc.Box1.Box2.Box3 h3.Box1.Box2(class='abc def') a(href='http://www.taobao.com',target = 'blank') 淘宝 input(type='button',value='点我') br p. 1,this is

hello

2,test 3,string p | 1,this is h3 hello | 2,test | 3,test string

执行编译命令:jade -P ghostwu.html 把index2.jade编译成ghostwu.html文件,编译之后的代码如下:

<Meta charset="utf8"> jade template engine

jade template engine

jade template engine

jade template engine

jade template engine

Box" class="Box1 Box2 Box3">
Box1 Box2 Box3">

Box1 Box2 abc def">

nofollow" target="blank">淘宝

1,this is

hello

2,test 3,string

1,this is

hello

2,test 3,test string

1,div#Box.Box1.Box2(class='Box3') 这种写法是emmet的写法 #就是id属性 点(.)就是class属性 括号也是属性写法

2,#abc.Box1.Box2.Box3,全面没有给元素标签名称,默认就是给div标签加上这些属性

3,多行文本的两种写法

p.

1,this is

hello

2,test 3,string

多行文本第1种写法:p标签后面要跟一个. 里面用原始的html标签写法

p

| 1,this is h3 hello | 2,test | 3,test string

多行文本第2种写法: 文本前面用竖线 ( | ),标签后面跟内容

三、注释

jade模板代码

Meta(charset='utf8') title jade模板引擎学习-by ghostwu body h3 单行注释 // div.Box.Box2 这是一段div h3 不会编译到html文件的注释 //- div#Box.Box2.Box3 h3 块注释,也叫多行注释 //- input(type='checkBox',name='meinv',value='仙女') 仙女 input(type='checkBox',value='御姐') 御姐 h3 这里不是注释 input(type='checkBox',value='仙女') | 仙女 input(type='checkBox',value='御姐') | 御姐

编译之后:

<Meta charset="utf8"> jade模板引擎学习-by ghostwu

单行注释

不会编译到html文件的注释

块注释,也叫多行注释

这里不是注释

Box" name="meinv" value="仙女">仙女 Box" name="meinv" value="御姐">御姐

1,单行注释

// div.Box.Box2 这是一段div

2,只在jade中注释,不会被编译到html文件

//- div#Box.Box2.Box3

3,块注释( 多行文本注释 ),被注释的内容要另起一行

4,checkBox后面的显示文字部分 要注意,不要挨着属性的后面,要另起一行,写在竖线的后面

四、jade模板实战菜单

Meta(charset='utf8') title jade模板引擎学习-by ghostwu style. * { margin : 0; padding: 0; } li { list-style-type: none; } a { text-decoration: none; color: white; } #nav { width:980px; height: 34px; margin:20px auto; line-height:34px; background:#800;} #nav li { float:left; } #nav li.active { background:red; } #nav li:hover { background:#09f; } #nav li a{ padding: 5px 10px; } body div#nav ul li.active a(href='javascript:;') 首页 li a(href='javascript:;') 玄幻小说 li a(href='javascript:;') 修真小说 li a(href='javascript:;') 都世小说 li a(href='javascript:;') 科幻小说 li a(href='javascript:;') 网游小说

编译(jade index.jade -P -w效果: -w: 实时监控文件修改,保存之后立刻刷新结果,也就是现代前端开发中很流行的热加载技术

五、解释变量

Meta(charset='utf8') - var title = 'jade模板引擎学习-by ghostwu'; title #{title.toUpperCase()} style. * { margin : 0; padding: 0; } li { list-style-type: none; } a { text-decoration: none; color: white; } #nav { width:980px; height: 34px; margin:20px auto; line-height:34px; background:#800;} #nav li { float:left; } #nav li.active { background:red; } #nav li:hover { background:#09f; } #nav li a{ padding: 5px 10px; } body div#nav ul li.active a(href='javascript:;') 首页 li a(href='javascript:;') 玄幻小说 li a(href='javascript:;') 修真小说 li a(href='javascript:;') 都世小说 li a(href='javascript:;') 科幻小说 li a(href='javascript:;') 网游小说

#{}: 可以解释变量,toUpperCase():变量转大写

把json文件的数据在编译的时候传递到模板,

新建data.json文件数据

文件模板:
Meta(charset='utf8') - var title = 'jade模板引擎学习-by ghostwu'; title #{title.toUpperCase()} body h3 #{content}

编译命令:jade index2.jade -P -O data.json -O 指定一个json文件,把json文件的数据传递到模板

编译后的结果:

<Meta charset="utf8"> JADE模板引擎学习-BY GHOSTWU

跟着ghostwu学习jade

以上这篇基于Node.js模板引擎教程-jade速学与实战1就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

猜你在找的Node.js相关文章