# 简介

# 路由

# 洋葱模型

  • 通过 koa-compose (opens new window) 这个中间件来实现

  • 上下文 ctx context

  • 操作先进后出

  • 有控制先进后出的机制 next()

  • 有提前结束的机制

在 koa 中,中间件被 next() 方法分成了两部分。next() 方法上面的部分会先执行,下面的部分会在后续中间件执行全部结束之后再执行。

在洋葱模型中,每一层相当于一个中间件,用来处理特定的功能,比如错误处理、Session 处理等等。其处理顺序先是 next() 前请求(Request,从外层到内层)然后执行 next() 函数,最后是 next() 后响应(Response,从内层到外层),也就是说每一个中间件都有两次处理时机

# 中间件

  • koa-mount (opens new window) 可用于挂载其他 Koa 应用程序作为中间件

  • 应用级中间件,所有路由都会经过,并且是最先经过的

  • 路由级中间件

  • 错误处理中间件,这个是在应用级中间件中进行的,进行错误捕获

  • 第三方中间件:koa-bodyparser(处理 post 请求)、koa-static(处理静态资源,启动了一个静态资源服务器)

# 模板渲染引擎

# Koa vs Express

  • Express 是基于 connect (opens new window) 实现的,自身封装了路由、视图等功能,一个大而全的框架,更适合开发大型应用。

  • Koa 是基于 co (opens new window) 实现的,但是本身不包含任何中间件,一个小而精的框架,更适合开发小型应用。

上次更新时间: 2023年12月14日 18:50:49