koa简介
koa是一个新的web框架,致力于成为web应用和API开发领域中的一个更小,更富有表现力,更健壮的基石。 利用async函数丢弃回调函数,并增强错误处理,koa 没有任何预置的中间件,可快速的编写服务端应用程序。
| 框架名 | 作用 | 异步处理 |
|---|---|---|
| Express | web框架 | 回调函数 |
| koa | web框架 | Generator+yield |
| koa2 | web框架 | async/await |
核心概念
- Koa Application(应用程序)主程序
- Context (上下文)
- Request(请求),Response(响应)
特点
- 轻量、简洁
- async/await 支持
- 丰富的中间件
koa工作原理
洋葱模型
- 执行的顺序: 顺序执行
- 回调的顺序: 反向执行
- 先进后出
常用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 启动
每次都要重新启动,真的好烦啊,怎么办呢? 可以使用一些第三方依赖来自动监听文件变化并重新启动 开发环境使用nodemon 安装 npm install nodemon