KoaJS 中间件函数
-
定义和使用
中间件函数是可以访问上下文对象和应用程序请求-响应周期中下一个中间件函数的函数。这些函数用于修改任务的请求和响应对象,如解析请求正文、添加响应头等。Koa 通过生成 "下文",然后将控件流回 "上文" 而进一步。这种效应称为级联效应。 -
示例
下面是一个运行中的中间件函数的简单示例。服务器上的每个请求都会调用上述中间件。因此,在每个请求之后,我们将在控制台中收到以下消息。为了将它限制到一个特定的路由(及其所有的子路由),我们只需要像创建路由一样创建路由。实际上,这些中间件只处理我们的请求。现在每当你请求 '/request' 的任何子路径时,它才会记录时间。
-
中间件调用顺序
关于 Koa 中间件最重要的一点是,它们在文件中的 写入/包含 顺序是它们在下游执行的顺序。一旦我们在中间件中找到一个 yield 语句,它就会切换到下一个中间件,直到我们到达最后一个。然后我们再次开始向上移动并从 yield 语句恢复函数。例如,在下面的代码片段中,第一个函数先执行到 yield,然后执行第二个中间件直到 yield,然后执行第三个。由于这里没有更多的中间件,我们开始向上移动,以相反的顺序执行,即第三、第二、第一。这个例子总结了如何使用 Koa 方式的中间件。运行此代码后访问 "/" 时,在控制台上我们将得到-既然我们知道了如何创建自己的中间件,让我们来讨论一些最常用的社区创建的中间件。现在我们知道了如何创建自己的中间件,让我们讨论一些最常用的社区创建的中间件。以下是一些最常用的中间件-- koa-bodyparser
- koa-router
- koa-static
- koa-compress
我们将在后面的章节中讨论多个中间件。