gpt4 book ai didi

koa - 在Koa中编写中间件有什么意义?

转载 作者:行者123 更新时间:2023-12-04 10:06:56 25 4
gpt4 key购买 nike

我正在潜入Koa2并看到koa-compose。我得到了我给它的中间件,并且它返回了一个,但是为什么呢?将多个中间件包装为一个而不是单独添加它们有什么好处?

app.use(compose(m1, m2))

vs:
app.use(m1)
app.use(m2)

最佳答案

KoaJS在(here)下使用koa-compose,因此app.use(compoase([m1,m2]));app.use(m1); app.use(m2);相同。显式使用koa-compose可以提供更多的自定义功能。以下是一种这样的情况:

通过app.use(middleware)添加中间件将使所有中间件根据每个请求以指定顺序执行。但是,如果要为每个路由有选择地运行一组不同的中间件(或以不同的顺序),则可以显式使用koa-compose为每个路由创建专门的中间件堆栈。

var app = require('koa')();
var router = require('koa-router')();
var compose = require('koa-compose');

var allMiddlewares = compose([m1,m2,m3]);

router.get('/', allMiddlewares);
// selectively enable logging middleware for this route
router.get('/test', compose(logger, allMiddlewares));

app
.use(router.routes())
.use(router.allowedMethods());

关于koa - 在Koa中编写中间件有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39186844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com