参考文献:[1][EN]Georgo Ornbo.傅强.陈宗斌. Node.js入门经典[M]. 北京:人民邮电出版社.2013.4-1
一、介绍
Node.js的一个Web框架。
二、能做的事
能做的是:
1、创建基于Json的API
2、单页面web
3、实时web
三、优点
1、迅速开发
2、路由、视图层等在Express中已经妥善处理
3、稳定性可期
四、模块简介
1、app.js 启动程序的文件夹,包含其配置信息
2、node_modules 保存package.json 中定义且安装好的node 模块
3、package.json 提供应用程序信息,包括依赖等
4、public Web服务的公共文件夹,如ccs javascript image 等(不会有应用程序)
5、routes 定义响应页面
6、views 应用程序布局 layout
五、jade
1、功能
基于缩进的模板引擎,用来生成HTML
2、注意
1) Jade 使用缩进定义HTML层次结构
2)无需使用标记,编译模板时会自动填充
3)无需关闭HTML标记,Jade生成HTML时会关闭标记
3、页面结构
Jade => 编译后结果 html => section#wrapper=> p.hightlight => section#wrapper.class-name => 一个标记多个类: p.first.section.third.fourth =>使用缩进 p span =>
在标记中加入文本: hi very important heading =>
Very important heading
使用管道描述符 p |Test can be over |many lines |after a pipe symbol =>Text can be over many lines after a pipe symbol
4、使用Jade输出数据
Jade模板语言的真正能力在于操作数据并输出数据到HTML
1)特殊字符
‘-’:告诉随后代码应当被执行
'=':告诉编译器要对代码进行演算、转义并输出
2)变量
代码被执行,并且不会返回任何输出 -var foo = bar; 变量设置后可以在以后使用 p Iwant to learn to use variables. Foo is #{foo}! #{变量} 告诉Jade 将变量替换为字符串 上述代码编译后为=>I want to learn how to use variables .Foo is bar!
3)循环
用于数组和对象迭代
例如:
-users = ['Sally','Joseph'] -each user in users p= user 编译后=>Sally
Joseph
使用for关键字
-for user in users p= user
也可以使用对象迭代
-obj = {first_name: 'George',surname:'Ornbo'} -each val,key in obj li #{key}:#{val}
编译后:
5、内联Javascript
如
script alert('You can execute')
6、Mixin
作用:如果某一代码块会重复出现,那么Mixin 是让代码保持整洁的良好办法
如:
mixin users(users) ul each user in users li = user 重用方法: -user = ['Krist','Kurt'] mixin users(users)