koa 常用中间件

Posted lchenglong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了koa 常用中间件相关的知识,希望对你有一定的参考价值。

 

koa-router    用户Koa的路由器中间件

  路由是Web框架必不可少的基础功能,koa.js为了保持自身的精简,并没有像Express.js自带了路由功能,因此koa-router做了很好的补充,作为koa星数最多的中间件,koa-router提供了全面的路由功能,比如类似Express的app.get/post/put的写法,URL命名参数、路由命名、支持加载多个中间件、嵌套路由等。其他可选路由中间件:koa-route, koa-joi-router, koa-trie-router
 

koa-views    koa2的模板渲染中间件

  koa-views对需要进行视图模板渲染的应用是个不可缺少的中间件,支持ejs, nunjucks等众多模板引擎。

 

koa-json     让koa2支持响应JSON数据

 

koa-onerror    koa有error事件,当发生错误,可以通过error事件,对错误统一处理。

 

koa-bodyparser  用来解析body

  通过post来传递表单、json或上传文件,数据不容易获取,通过koa-bodyparser解析之后,在koa中this.body就能获取到数据。koa.js并没有内置Request Body的解析器,当我们需要解析请求体时需要加载额外的中间件,官方提供的koa-bodyparser是个很不错的选择,支持x-www-form-urlencoded, application/json等格式的请求体,但不支持form-data的请求体,需要借助 formidable 这个库,也可以直接使用 koa-bodykoa-better-body

 

koa-session    koa的session管理中间件

  HTTP是无状态协议,为了保持用户状态,我们一般使用Session会话,koa-session提供了这样的功能,既支持将会话信息存储在本地Cookie,也支持存储在如Redis, MongoDB这样的外部存储设备。
 

koa-logger

  koa-logger提供了输出请求日志的功能,包括请求的url、状态码、响应时间、响应体大小等信息,对于调试和跟踪应用程序特别有帮助,koa-bunyan-logger 提供了更丰富的功能

 

koa2-cors

  跨域配置

 

  Node.js除了处理动态请求,也可以用作类似nginx的静态文件服务,在本地开发时特别方便,可用于加载前端文件或后端Fake数据,可结合 koa-compress 和 koa-mount 使用。
 

koa-jwt

随着网站前后端分离方案的流行,越来越多的网站从Session Base转为使用Token Base,JWT(Json Web Tokens)作为一个开放的标准被很多网站采用,koa-jwt这个中间件使用JWT认证HTTP请求。
 
网络安全得到越来越多的重视,helmet 通过增加如Strict-Transport-Security, X-Frame-Options, X-Frame-Options等HTTP头提高Express应用程序的安全性,koa-helmet为koa程序提供了类似的功能,参考Node.js安全清单
 
koa-compress
  当响应体比较大时,我们一般会启用类似Gzip的压缩技术减少传输内容,koa-compress提供了这样的功能,可根据需要进行灵活的配置。
  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://npm.taobao.org/package/koa-compress

以上是关于koa 常用中间件的主要内容,如果未能解决你的问题,请参考以下文章

koa 核心拓展——中间件机制

koa2中间件koa和koa-compose源码分析原理

Koa 系列 — Koa 中间件机制解析

Koa 系列 — 如何编写属于自己的 Koa 中间件

koa2入门--03.koa中间件以及中间件执行流程

koa2中间件简易分析