定义带有前缀的 koa-router 嵌套路由

Define koa-router nested routes w/ prefixes

我正在尝试使用 koa-router 定义不同的路线,我正在努力让它工作。

像这样:

const apiRouter = new KoaRouter({
  prefix: '/api'
})
.use(bodyParser)
.post('/sign-in', signinMiddleware)
.get('auth-check', authCheckMiddleware)

const protectedApisRouter = new KoaRouter()
.use(authorizeMiddleware)
.get('/widgets', getWidgetsListMiddleware)
.post('/widgets', createWidgetMiddleware)
.get('/widgets/:widgetId', getWidgetByIdMiddleware)
.patch('/widgets/:widgetId', updateWidgetMiddleware)


apiRouter.use(
  prodectedApisRouter.routes(),
  prodectedApisRouter.allowedMethods()
)

koaApp.use(apiRouter.routes())
koaApp.use(apiRouter.allowedMethods())
 

根据此处的文档,我希望 /api/widgets/* 的请求应该在 bodyParserauthorizeMiddleware 中间件之后进入它们各自的中间件 运行 : https://github.com/alexmingoia/koa-router#nested-routers

但是,我得到的是所有这些路由的 404。我究竟做错了什么?

显然上面的代码工作得很好..但是在我的 authorizeMiddleware 中我正在做 await next 而不是 await next()

太糟糕了,没有办法删除这里的问题。人们现在会来这里解决与我的白痴无关的问题。