Web应用开发框架-koa(五)——koa总结之koa特点、koa-route路由 & 中间件之洋葱模型、异步中间件、中间件的合成 & 错误处理之http状态码、koa抛出错误、错误处理中间件
web应用框架
第一章 koa入门
- koa特点
- 下一代框架,思想很超前
- 新的语法,es7
- 优雅
- 安装
- npm install koa
- 基本用法
- 起服务
- app.listen(3000)
- http response
- 服务端需要知道客户端要什么?
- 客户端 request.accepts
- 服务端 response.type
- 服务端需要知道客户端要什么?
- 返回html片段
- 首先使用fs读取
- ctx.response返回数据
- 注意一个问题: 路径 path.resolove
- 起服务
- 路由
- 原生 通过 ctx.request.path
- koa-route
- route.get()
- 静态资源服务
- 传统: 一个图片 一个路由
- koa-static 一行命令搞定静态资源服务的搭建
- 重定向
- status 302
- 应用场景: 登录
- 中间件
- 非常核心!!!
- 可以解决通用的问题
- next
- 洋葱模型
- 在next里面,其实next代表的是什么?
- 当前执行函数的,下一个app.use的谁,指的就是谁?
- 在next里面,其实next代表的是什么?
- 异步中间件
- async await
- 注意: app在use的时候,需要把其它的中间件都改为async 和 await的模式
- 中间件的合成
- koa-compose 应用场景: 合并中间件
- compose的概念
- 自右向左执行的
- 第一个函数,可以接受多个参数,并返回一个值。
- 后面的函数只能接受一个参数,并返回一个值
- 错误处理
- 常见的http状态吗
- 200 ok
- 304 协商缓存 强缓存 200
- 404, 401 客户端错误
- 500 服务器错误
- koa抛出错误
- Ctx.throw
- Ctx.response.status 然后 修改 body
- 错误处理中间件
- 使用try catch
- 再try中执行 next函数
- catch next发生的错误
- 洋葱模型中有一处发生了错误都会被catch到
- error事件的监听啊
- app.on(‘error’)
- ctx.app.emit(‘error’)
- 继承自nodejs中的event对象下的 eventEmit
- 解析post中的body
- 通过监听 data, end,解析buffer 二进制 toString方法
- Koa-body
- 注意: 结合的是 koa-router
- 你在哪里写路由就在哪引入koa-body 按需引用
- 文件上传
- koa-body
- 创建一个临时目录
- post form-data
- 写入一个pipe流存储文件到指定目录
- 常见的http状态吗
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/yd-ios/10792.html