使用 Koa 作为 Nuxt 服务器中间件

Using Koa as Nuxt server middleware

我正在尝试使用 Koa 作为 nuxt 的服务器中间件。当我向 localhost:3000/api/users 发出请求时,我没有得到任何回应,找不到路由。我的代码有什么问题?

nuxt.config.js

serverMiddleware: [
    // API middleware
    '~/api/index.js'
    ]

index.js

const Koa = require('koa')
const Api = require('koa-router')
const users = require('./routes/users')

const koa = new Koa()
const api = new Api()

api.use('/users', users.routes())

koa.use(api.routes())
koa.use(api.allowedMethods())

// Export the server middleware
module.exports = {
  path: '/api',
  handler: koa
}

users.js

const Router = require('koa-router')

const router = new Router()

router.get('/users', ctx => {
  ctx.body = 'Hello World'
})

module.exports = router

使用 app.callback() 而不是 app 作为处理程序:

import Koa from 'koa'
const app = new Koa()

app.use(ctx => {
  ctx.body = 'Hello World'
})

app.listen()

export default {
  path: '/example',
  handler: app.callback()
}