• 我转过几个弯 绕过那个小雨楼
  • 拿着蒲扇摆着衣衫渡着紧箍咒
  • 不问天涯不停留 喝过几壶酒
  • 不过年少白头道义放胸口
  • 倘若明天之后 遥看前尘剑封侯
  • 似那天上神仙无所求
  • 朝朝暮暮君如梦醒十分不为何理由
  • 是真是假是惶恐是无休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 又过了几个弯 算尽天量道莫慌
  • 踏这田园闻这芳草香
  • 跌跌撞撞仗剑天涯折煞不枉无笔良
  • 是梦是幻是温柔是家乡
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 谁能与我一醉方休

koa框架9 框架了解

140 0

koa框架9 框架了解

版本

koa有三个大版本,1.0、2.0、3.0;其中1.0已经过气了,3.0还未发布,2.0处于一个过渡,他即可以兼容1.0也能兼容2.0,比如1.0的generator,3.0的async。

所以2.0用async就行了,即便升级3.0也不会有问题。

基本配置

安装:

npm i koa
const Koa = require("koa");

const server = new Koa();
server.listen(8080);


server.use(async ctx => {
    ctx.body = "您好";
})

引入的koa插件是一个构造函数,所以推荐变量名首字母大写。

然后我们new出这个函数赋值给server

监听端口

use监听访问内容,koa的use和express不一样,他只支持传入一个函数,不能像express那样还能判断路径,所以,这样写的话所有路由连接地址,都会返回 您好 两个字。

那么如何处理访问路径的问题,我们需要使用koa-router路由插件。

中间件

koa的中间件是按照你写的方法顺序执行的,和js的执行顺序一样,谁先写,谁先执行,都是使用use方法。

由于中间件可能会有多个,如何确保我们需要进入下一个,use的回调函数第二个参数为next函数,也就是和express一样,只有运行了next,下一个中间件函数才会执行。

并且中间件中间,ctx参数是同一个,这样就可以通过这个参数实现传参,省去了书写全局变量。

//中间件1
server.use(async (ctx, next) => {
    ctx.text = "您好";

    await next();
})
//中间件2
server.use(async (ctx, next) => {
    ctx.color = "red";

    await next();
})
//中间件3
server.use(async ctx => {
    ctx.body = `<a style="color:${ctx.color}">${ctx.text}</a>`;
})

由于next实际上就等于下一个中间件函数,他是这个异步的,所以我么用用await接这个next。

最后一个中间件了,next写不写都无所谓。

0
  • 本文分类:Node
  • 本文标签:nodekoa中间件
  • 流行热度:已超过 140 人围观了本文
  • 最后更新:2020年08月14日 - 20时00分55秒
  • 发布日期:2020年08月14日 - 20时00分55秒
  • 版权申明:本文系作者@木灵鱼儿原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。

相关文章

微信收款码
微信收款码