深入理解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一样
相关推荐
知其然亦知其所以然10 分钟前
SpringAI + Groq 实战:3 分钟教你搭建超快聊天机器人!
java·后端·openai
M1A122 分钟前
诺贝尔奖得主的终极学习法:西蒙学习法全解读
后端
PetterHillWater1 小时前
基于AI互联网系统架构分析与评估
后端·aigc
MaxHua1 小时前
多数据源与分库分表方案设计
后端·面试
季风11321 小时前
17.Axon框架-消息
后端·领域驱动设计
苏三说技术1 小时前
Token续期的5种方案
后端
小森林81 小时前
分享一次Guzzlehttp上传批量图片优化的经历
后端·php
码事漫谈1 小时前
一文彻底搞懂缓存:从菜鸟到专家的完全指南
后端
华仔啊1 小时前
final在Java中到底有啥用?5个实际场景告诉你
java·后端
码事漫谈2 小时前
一文读懂:跨服务调用,用HTTP还是RPC?
后端