一、学习内容:
1.中间件 1.1 什么是中间件 自来水生产流程: 2.2 1.2 express 中间件概述 express 是一个中间件组成的框架。每一个 app.get / app.post 都是一个中间件 当 app.get / app.post 的回调函数有参数3 (next)。调用 next方法时,执行完 当前中间件就会执行下一个中间件 中间件是从上向下执行的,编写中间件时必须注意中间件的调用顺序 简单说,中间件(middleware)就是处理HTTP请求的函数。 它最大的特点就是,一个中间件处理完,再传递给下一个中间件。App实例在运行过 程中,会调用一系列的中间件。 每个中间件可以从App实例,接收三个参数,依次为request对象(代表HTTP请 求)、response对象(代表HTTP回应),next回调函数(代表下一个中间件)。每 个中间件都可以对HTTP请求(request对象)进行加工,并且决定是否调用next方 法,将request对象再传给下一个中间件。 一个不进行任何操作、只传递request对象的中间件,就是下面这样。 2.4 1.4 自定义中间件 2.4.1 1.4.1 日志中间件 目标: 每当浏览器输入地址访问时,就将当前访问的 url 和 时间 保存到 run.log 文 件中 核心思路: 使用 fs 模块写文件 1) 使用fs模块,在每个路由监听中都进行写文件操作 缺点: 每个路由监听中重复的代码太多,最好封装成一个函数 2) 将写日志的代码封装成函数 缺点:每个路由监听中都要调用该方法 3) 封装成中间件函数 |