一、简介
Express框架是基于node平台的web应用开发框架,提供了一系列强大的特性,帮助创建各种web应用。使用npm install express 下载。是企业事实上的web开发标准。
二、框架特性
1.提供方便简洁的路由定义方式
2.简化处理http请求参数(不需要对参数格式进行转化类型,直接就是对象类型;不需要添加deta事件和end事件,直接作为请求对象属性出现)
3.对模板引擎支持程度高,方便渲染html页面
4.提供中间件机制,有效控制http请求
5.拥有大量第三方中间件对功能进行扩展
三、框架入门体验
1.建立目录express
2.在终端使用npm install express下载框架
四、中间件
1.什么是中间件
中间件就是一堆方法,可以接收客户端发来的请求,对请求作出响应。也可以将请求继续交给下一个中间件继续处理。
中间件方法由Express提供,负责拦截请求。请求处理函数由开发者编写,负责处理请求。
对于同一个请求可以设置多个中间件,对请求进行多次处理。
默认情况下,请求从上到下依次匹配中间件,匹配成功则终止。可以使用next方法将请求控制权交个下一个中间件,直到遇到结束请求的中间件。
2.app.use中间件用法
请求方式有get/post,一般一个请求会选择其中一种方式。但对于同一个请求,需要用到两种请求方式,可以使用app.use中间件,这个方法不区分请求方式,可以直接传入请求处理函数,代表接收所有请求。
app.use第一个参数可以传入请求地址,表示不论什么请求方式,只要是这个请求地址,就接收请求。
参数也可以是一个函数
3.中间件应用
路由保护。访问需要登录的页面时,可以先使用中间件判断用户登录状态,如果未登录则拦截请求,禁止访问。如果登录,直接响应。
网站维护公告。在所有路由的最上面接收所有请求的中间件,直接响应客户端,网站维护中。
自定义404页面。
4.错误处理中间件
程序执行时不可避免会发生错误(如文件读取错误,数据库连接失败等),错误处理中间件是一个集中处理错误的地方。
相比普通中间件,错误处理中间件有4个参数
注意:错误处理中间件只能捕获同步代码错误,异步错误不能直接捕获,需要手动触发错误处理中间件。
当程序出错时,调用next方法,并且将错误信息通过参数的形式传给next方法可以触发错误处理中间件。
5.捕获错误
在node中,异步API的错误信息都是通过回调函数获取的,支持Promise对象的异步API发生错误可以通过catch方法捕获。
try catch 可以捕获异步函数以及其他同步代码在执行过程中发生的错误,但不能捕获其他类型的API发生的错误。
五、Express请求处理
1.模块化路由构建
基础代码
模块构建
把路由统一放在一个目录下
2.get参数获取
Express框架中使用req.query获取get参数,框架内部会将get参数转为对象并返回
3.post请求参数获取
Express中接收post请求参数需要用到node第三方模块body-parser
4.Express路由参数
这是接收get/post请求参数的另一种方式,易于阅读路由代码,美化请求地址
6.静态资源处理
express内置express.static方便托管静态文件,如html、css、js文件等
7.模板引擎
为了方便在express框架中更好的使用art-template模板引擎,官方封装了express-art-template
使用npm install art-template express-art-template 命令进行安装
六、express-art-template模板引擎
app.locals对象
将变量设置在app.locals对象下,所有模板都可以获取这个数据