深入理解Koa:中间件模型、API全览和与Express的对比(下)

  1. Koa API 全览之 app.xxx
  • 文档
  • 有以下这些,只要基础app.use,app.on,app.emit即可
php 复制代码
app.env
app.proxy
app.subdomainOffset
app.listen()
app.callback()
app.use(fn) 一一 插入中间件fn
app.keys
app.context
app.on('error',fn)
app.emit 一一 触发事件
  1. ctx.xxx相关app
js 复制代码
ctx.req // Node.js封装的请求
ctx.res
ctx.request //Koa封装请求
ctx.response
ctx.state一一跨中间件分享数据
ctx.app
ctx.cookies.get set
ctx.throw
ctx.assert
ctx.respond不推荐使用
  1. ctx.request.xxx
  • 文档,有一些api需要注意下
  • 其中有一个request.idemponent表示幂等,多次请求返回结果一样被称为幂等,通常认为get是幂等的
  • request.method
  • request.path
  • request.query
  1. ctx.response.xxx
  • 文档
  • response.status
  • response.body * 5 ,有五种不同的类型
  • response.set() * 2,两种形式
  • response.append()
  1. 总结
  • Koa原理
    • 封装请求和响应
    • 通过U型模型/洋葱模型构造中间件
  • 跟Express的区别
    • 模型不同
    • 语法特性不同(对Node.js7.6.0版本的要求不同)
    • 没有内置中间件
  • Koa API
    • 平平无奇,几乎和Express一样
相关推荐
candyTong3 小时前
Claude Code Agent Teams:多 Agent 协作的生命周期与实现机制
后端·架构
IT_陈寒8 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
淇奥78 小时前
【MyBatis-Plus】MyBatis-Plus 学习笔记
后端
_code_bear_8 小时前
OpenSpec CLI 与 OPSX 工作流说明
前端·后端·架构
用户8356290780519 小时前
使用 Python 在 PowerPoint 中添加并控制音频播放
后端·python
用户8356290780519 小时前
使用 Python 在 PowerPoint 中生成并自定义饼图与环形图
后端·python
念何架构之路9 小时前
Go语言常见并发模式
开发语言·后端·golang
Cosolar9 小时前
大模型应用开发面试 • 第4期|A2A、复杂挑战与具身智能
人工智能·后端·面试
迷渡10 小时前
聊一聊 Bun 用 Rust 重写这件事
开发语言·后端·rust
王中阳Go10 小时前
秒杀、分库分表、全链路追踪:一个电商微服务的架构全拆解
后端·go