koa介绍 教程

2021年3月25日 9点热度 0条评论 来源: 一斤代码

koa

Koa – 基于 Node.js 平台的下一代 web 开发框架

简介

Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。

安装
$ nvm install 7
$ npm i koa
$ node my-koa-app.js

使用

const Koa = require("koa");


//koa正常使用
let app = new Koa();
//使用  会有一个回调函数

let m1 = async function(ctx, next) { 
    console.log("m1");
    //ctx.state     传递数据
    //它就像一个中间间的贡献空间
    ctx.state = { 
            perPage: 5,
            totalPage: "13"
        }
        //将控制权,交给下一个中间件
    next(); //  ----->m2


    // console.log("m1 end");
}
let m2 = async function(ctx, next) { 
    // console.log("m2");
    console.log(ctx.state);
    ctx.state = { 
        p: 1,
        id: 14,
        totalPage: 3
    }


    next(); //------->下一个中间件


    // console.log("m2 end");
}
let m3 = async function(ctx, next) { 
    // console.log("m3");
    //     next();


    // console.log("m3 end");
    console.log(ctx.state);
    ctx.body = "hello";
    //状态码
    // ctx.status = 404
}


// 中间件在实际使用,全部都是模板
app.use(m1);
app.use(m2);
app.use(m3);


app.listen(8899);
  • Koa 利用中间件控制"上游",调用"下游“;
    • -koa是包含一组中间件函数的对象;可以将app.use里的函数理解成中间件

      //这里的middleWare函数就是一个中间件
      letmiddleWare=async (ctx,next)=>{ 
      	console.log("first middleWare");
      	ctx.body="hello world";
      }
      app.use(middleWare);
      
      
    • 通过next()将控制转交给另一个中间件;

koa常用中间件介绍

一、koa-router

  • 路由是引导匹配之意,是匹配url到相应处理程序的活动
  • koa-router安装npm i koa-router -S
  • Koa-router使用
  • Koa-router推荐使用RESTful架构API。Restful的全称是Representational State Transfer 即表现层转移。
    • RESTful是一种软件架构⻛格、设计⻛格,而不是标准,只是提供了一组设计原则和约束条件。基于这个⻛格设计可以更简洁,更有层次;
    • 非RESTful架构api:
    • 使用RESTful架构设计api
    • REST设计一般符合如下条件:
      • 程序或者应用的事物都应该被抽象为资源每个资源
      • 对应唯一的URI(uri是统一资源标识符)
      • 使用统一接口对资源进行操作
      • 对资源的各种操作不会改变资源标识
      • 所有操作都是无状态的

三、koa-static

  • koa-static 是用于加载静态资源的中间件,通过它可以加载css、js等静态资源;
  • 安装 koa-staticnpm i koa-static
  • 使用koa-static

conststatic=require("koa-static");
app.use(static(__dirname+"/static")) //加载静态文件的目录

    原文作者:一斤代码
    原文地址: https://blog.csdn.net/weixin_54645059/article/details/115216181
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。