Just like Koa and Express, Connect is a simple framework that is used to glue together various middlewares for handling HTTP requests. Nuxt internally uses Connect as a server, so most Express middleware works with Nuxt's server middleware. In comparison, it is a bit harder for Koa middleware to work as Nuxt's server middleware because the req and res objects are tucked away and kept inside ctx in Koa. We can compare these three frameworks with a simple "Hello World" message, as follows:
// Connect
const connect = require('connect')
const app = connect()
app.use((req, res, next) => res.end('Hello World'))
// Express
const express = require('express')
const app = express()
app.get('/', (req, res, next) => res.send('Hello World'))
// Koa
const Koa = require('koa')
const app = new Koa()
app.use(async (ctx, next) => ctx.body = 'Hello World')
Notice that...