What is the point of creating middleware in Coa?

I dive into Koa2 and I see koa-compose . I get that I give him middlewares and it returns one, but why? What is the advantage of multiple middleware wrapped as one, rather than just adding separately?

app.use(compose(m1, m2))

against

app.use(m1)
app.use(m2)
+4
source share
1 answer

KoaJS uses koa-composeunder ( here ), therefore app.use(compoase(m1,m2));they are the app.use(m1); app.use(m2);same. Using koa-composeexplicitly can provide more options for customization. The following is one such case:

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());
+6

Source: https://habr.com/ru/post/1652730/


All Articles