Koa2简介和搭建
作者:互联网
一、简介
Koa2概述:
- 基于Node.js平台的web开发框架
- 由Express原班人马打造:Express Koa Koa2
- async/await 要求环境依赖Node v7.6.0及以上
Koa2特点:
- 支持 async/await
- 洋葱模型中间件:当客户端发起一个请求到达第一层中间件并处理后,服务器处理请求,将处理结果传递给第二层中间件,到达第二层中间件后再处理,再将处理结果传递给第三层中间件,之后再进入第三层中间件处理;第三层处理后,依次将处理结果向上返回给第二层处理、第一层处理,最后第一层再响应给客户端
二、快速上手
- 检查Node的环境,要求环境依赖Node v7.6.0及以上
node -v
- 安装Koa
npm init -y
npm install koa
- 创建并编写app.js文件
1.创建Koa对象
2.编写相应函数(中间件)
3.监听窗口
//创建koa对象 const Koa = require('koa'); const app = new Koa() //编写响应函数(中间件),ctx是应用上下文提供request和response方法接受和相应; //参考洋葱模型,第二层中间件是否执行取决于第一层中间件的next()是否执行 app.use(async(ctx,next) => { console.log("koa1") const ret = await next() //执行第二层中间件,并且是异步的,next()返回一个Promise对象,在此等待第二层中间件返回后才继续往下执行; console.log("koa1.1") }) //第二层中间件 app.use(async(ctx,next) => { console.log("koa2") const ret = await next(); //执行第三层中间件,next()的返回值来自于第三层中间件的return,并且是一个Promise{I love The dog!}对象,
//想要获取Promise对象中的数据,需要用await,则箭头函数要用async修饰; console.log(ret); console.log("koa2.1") }) //第三层中间件 app.use((ctx,next) => { console.log("koa3") ctx.response.body = "hello koa3!" return "I love The dog!" //向第二层中间件返回执行结果 }) //绑定端口号 app.listen(8080)
- 在浏览器中输入:http://localhost:8080 发起请求
IDE控制台输出结果:
标签:console,log,简介,app,中间件,next,Koa2,第二层,搭建 来源: https://www.cnblogs.com/ibear/p/14755055.html