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控制台输出结果:

原文地址:https://www.cnblogs.com/ibear/p/14755055.html