全栈开发初体验:快速了解koa

143 阅读1分钟
koa简介

koa是一个新的web框架,致力于成为web应用和API开发领域中的一个更小,更富有表现力,更健壮的基石。 利用async函数丢弃回调函数,并增强错误处理,koa 没有任何预置的中间件,可快速的编写服务端应用程序。

框架名作用异步处理
Expressweb框架回调函数
koaweb框架Generator+yield
koa2web框架async/await
核心概念
  • Koa Application(应用程序)主程序
  • Context (上下文)
  • Request(请求),Response(响应)

1725770557977.png

特点
koa工作原理

洋葱模型

1725773156175.png

  • 执行的顺序: 顺序执行
  • 回调的顺序: 反向执行
  • 先进后出
常用koa中间件
  • 路由 koa-router
  • 跨域处理 @koa/cors
  • 压缩 koa-compress
  • 静态资源 koa-static
  • 协议处理 koa-json koa-body
  • 鉴权方式 koa-session koa-jwt
  • 通信头 koa-helmet
  • 日志 koa-logger
常用API
  • app.use
  • app.listen
  • app.on

koa使用

安装
  • npm install -S koa
  • 版本依赖 nodejs>v7.6.0

快速实现一个最基本的应用

const koa = require'koa'const app = new Koa()
app.use(async ctx => {
  ctx.body = 'hello world'
}
app.listen(3000)

node app.js 启动

1725870442218.png

每次都要重新启动,真的好烦啊,怎么办呢? 可以使用一些第三方依赖来自动监听文件变化并重新启动 开发环境使用nodemon 安装 npm install nodemon