koa

中间件

Koa的中间件很像Express的中间件,也是对HTTP请求进行处理的函数,可是必须是一个Generator函数。并且,Koa的中间件是一个级联式(Cascading)的结构,也就是说,属因而层层调用,第一个中间件调用第二个中间件,第二个调用第三个,以此类推。上游的中间件必须等到下游的中间件返回结果,才会继续执行,这点很像递归。nginx

routerweb

koa-route模块所创建的路由,支持相似与/:category/:id这样的参数路由,以及^/.*/?$正则匹配,能够经过this.params获取这些参数。npm

 

koa-static浏览器

若是网站提供静态资源(图片、字体、样式表、脚本......),为它们一个个写路由就很麻烦,也不必。koa-static模块封装了这部分的请求服务器

koa-composecookie

koa-compose模块能够将多个中间件合成为一个session

session

在系统中,用户进行特定的操做的时候,可能须要进行登陆检查或权限检查,若是没有登陆或没有权限,就不能继续操做要进行登陆检查,通常使用session,session和cookie都是web开发为了解决http是无状态协议的方案。
session是web开发中的一个概念,用来在服务器端存储同一个客户端在一系列跨请求操做的信息,一般是用户打开浏览器,登入系统session开始,用户关闭浏览器,session关闭
cookie是服务器端建立的,保存在客户端的文本格式的信息,在cookie的生存期每次访问服务器端的时候,自动带到服务器端,便于服务器端获取信息app

ctx.cookies用来读写cookiekoa

你会看到1 views。刷新一次页面,就变成了2 views。再刷新,每次都会计数增长1。函数

若是指定加密的话,必须用app.keys指定加密短语。

app.keys = ['secret1', 'secret2'];

 文件上传

1.使用File表单元素
2.表单的method必须是post,enctype是multipart/form-data
3.安装multy中间件
4.在router中router.use(Multy())
5.经过ctx.request.body就能够正常读取请求体的数据

 

 

koa-compress

大多数状况下,咱们的网站不单单就是存文字的还要包含一些其余类型的文件,好比:图片,mp3等。咱们知道浏览器是支持加载gzip压缩过的网页的,因此以nginx为表明的静态文件服务器默认都会开启gzip压缩。那么咱们Nodejs服务能不能对资源文件进行压缩呢?

答案是确定的。Koa的做者写了一个中间件compress,支持对请求的response进行压缩,具体的使用以下:

相关文章
相关标签/搜索