nodejs:深入探究Express之路 自己实现一个Express(二)
from:http://www.nodepeixun.com/a/nodekuangjia/20170110/122.html
2.6 中间件
中间件就是处理HTTP请求的函数,用来完成各种特定的任务,比如检查用户是否登录、检测用户是否有权限访问等,它的特点是:
-
一个中间件处理完请求和响应可以把相应数据再传递给下一个中间件
-
回调函数的next参数,表示接受其他中间件的调用,函数体中的next(),表示将请求数据继续传递
-
可以根据路径来区分返回执行不同的中间件
中间件的使用方法:
增加中间件
use方法的实现:在路由数组中增加中间件
app方法中增加Middleware判断:
错误中间件:next中可以传递错误,默认执行错误中间件
错误中间件的实现:对错误中间件进行处理
2.7 获取参数和查询字符串
-
req.hostname 返回请求头里取的主机名
-
req.path 返回请求的URL的路径名
-
req.query 查询字符串
![]()
具体实现:对请求增加方法
2.8 获取params参数
req.params 匹配到的所有路径参数组成的对象
params实现:增加params属性
2.9 express中的send方法
参数为要响应的内容,可以智能处理不同类型的数据,在输出响应时会自动进行一些设置,比如HEAD信息、HTTP缓存支持等等
当参数是一个字符串时,这个方法会设置Content-type为text/html
当参数是一个Array或者Object,这个方法返回json格式
当参数是一个number类型,这个方法返回对应的状态码短语
send方法的实现:自定义send方法


浙公网安备 33010602011771号