Проработав Koa в течение 2 лет, а недавно и несколько файлов express.js, я натолкнулся на один большой пример этого.
Скажем, у вас есть контроллер, который генерирует ответ, и вы хотите перехватить этот ответ исделайте что-нибудь с ним (например: gzip или конвертируйте его в какой-нибудь другой формат).
Это легко работает с koa, потому что вы можете просто сделать что-то вроде этого:
function myMw(ctx, next) {
await next();
ctx.response.body = gzip(ctx.response.body);
}
выше вымышленный пример, но вы поняли идею.
С выражением вашего кода это выглядит как абсолютный мусор.Легко увидеть в промежуточном программном обеспечении Express GZIP:
https://github.com/expressjs/compression/blob/master/index.js
Это связано с тем фактом, что промежуточное программное обеспечение Express обеспечивает прямой доступ к сокету HTTP для записи ответов (с send()
).
Я подозреваю, что именно отсюда и возникает это чувство.Честно говоря, я не понимаю, почему люди все еще используют Экспресс.В основном привычные и огромные количества уроков, которые я считаю.Экспресс был великолепен, но сегодня это больно.