koa常用的中间件

在这里插入图片描述
前言

随着ES6的普及,async/await的语法受到更多JS开发者的青睐,
Koa.js作为比较早支持使用该语法的Node框架越来越受到大家的喜爱,
然Koa.js本身支持的功能很有限,但官方和社区提供了很多各种功能的中间件,
本文精选了其中的十个常用的中间件,希望可以帮助到大家

koa-router


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

koa-bodyparser

koa.js并没有内置Request Body的解析器,当我们需要解析请求体时需要加载额外的中间件,
官方提供的koa-bodyparser是个很不错的选择,
支持x-www-form-urlencoded, application/json等格式的请求体,
但不支持form-data的请求体,需要借助 formidable 这个库,
也可以直接使用 koa-body 或 koa-better-body

koa-views

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

koa-static

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

koa-session

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

koa-jwt

随着网站前后端分离方案的流行,越来越多的网站从Session Base转为使用Token Base,
JWT(Json Web Tokens)作为一个开放的标准被很多网站采用,koa-jwt这个中间件使用JWT认证HTTP请求。

koa-helmet

网络安全得到越来越多的重视,helmet 通过增加如Strict-Transport-Security, 
X-Frame-Options, X-Frame-Options等HTTP头提高Express应用程序的安全性,
koa-helmet为koa程序提供了类似的功能,参考Node.js安全清单。

koa-compress

当响应体比较大时,我们一般会启用类似Gzip的压缩技术减少传输内容,
koa-compress提供了这样的功能,可根据需要进行灵活的配置。

koa-logger

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

koa-convert

对于比较老的使用Generate函数的koa中间件(< koa2),
官方提供了一个灵活的工具可以将他们转为基于Promise的中间件供Koa2使用,
同样也可以将新的基于Promise的中间件转为旧式的Generate中间件。

希望本文可以帮助到大家 ❤❀❤

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值