深入理解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一样
相关推荐
胡萝卜13816 分钟前
Spring扩展接口(三)- 为什么要掌握Bean的生命周期
后端
麦兜*1 小时前
SpringBoot 2.x→3.0升级实战:Jakarta EE兼容性改造清单
java·spring boot·后端·spring·系统架构·maven·springcloud
天天摸鱼的java工程师1 小时前
蚂蚁金服面试官:你能从JVM源码解释STW吗?
java·后端·面试
liangdabiao1 小时前
包学会!WooCommerce开源电商的基础架构 - 简要介绍它的核心对象 - 有用有料
后端·架构
未来影子1 小时前
MCP的SSE重连机制,源码解析
人工智能·后端
bobz9652 小时前
kubevirt 替换为 hostnetwork 的优势
后端
大象席地抽烟2 小时前
Nginx Ingress 证书
后端
心之语歌2 小时前
Java 设计 MCP SSE 配置
java·后端
华仔啊2 小时前
推荐一款比Cursor更懂中国程序员的AI编程工具
前端·后端
海风极客2 小时前
Ping命令这种事情用Go也能优雅实现
后端·go·github