Nodejs的学习笔记(3)

koa

1、koa 介绍

koa是express原班人马打造的轻量、健壮、富有表现力的nodejs框架。目前koa有koa1和koa2两个版本;koa2依赖Node.js 7.6.0 或者更高版本;koa不在内核方法中绑定任何中间件,它仅仅是一个轻量级的函数库,几乎所有功能都必须通过第三方插件来实现。

2、koa使用

  • koa安装

    $ npm i koa
    
  • 一个简单的koa服务器

    const Koa = require('koa');
    const app = new Koa();
    
    app.use(async ctx => {
          
          
      ctx.body = 'Hello World';
    });
    app.listen(3000);
    
  • Koa 利用中间件 控制"上游",调用"下游“;

    koa是包含一组中间件函数的对象;可以将app.use里的函数理解成中间件

    //这里的middleWare函数就是一个中间件
    let middleWare = async (ctx,next)=>{
          
          
        console.log("first middleWare");
        ctx.body = "hello world";
    }
    app.use(middleWare);
    

    通过next()将控制转交给另一个中间件;
    上述过程也可以通过"洋葱模型“来解释中间件执行顺序
    在这里插入图片描述

3、Application对象

  • application是koa的实例 简写app

  • app.use 将给定的中间件方法添加到此应用程序,分为同步和异步,异步:通过es7中的async和await来处理

  • app.listen设置服务器端口;

  • app.on 错误处理;

4、上下文context对象常用属性及方法

  • context 将node中的request和response 封装到一个对象中,并提供一些新的api提供给用户进行操作;

    扫描二维码关注公众号,回复: 12910544 查看本文章
    ctx.app:应用程序实例引用,等同于app;
    ctx.req:Node 的 request 对象.
    ctx.res:Node 的 response 对象.
    ctx.request:koa中的Request对象;
    ctx.response:koa中的response对象;
    ctx.state:对象命名空间,通过中间件传递信息;
    ctx.throw:抛出错误;
    
  • request及response别名
    koa会把ctx.requset上的属性直接挂载到ctx上如:

    ctx.header //头信息;
    ctx.headers
    ctx.method
    ctx.method=
    ctx.url
    ctx.url=
    

猜你喜欢

转载自blog.csdn.net/literarygirl/article/details/107192607