Node.js速学之-Express

参考文献:[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}

编译后:

  • first_name:George
  • surname: Ornbo
  • 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)