我试着用柯拉止痛剂。但是当使用多级包含关系时,它会继续返回404 (Body: Not Found)。我不知道原因。
来复制,
目录:
sites
index.html
Hello, koaindex.js
const Koa = require('koa')
const router = require('./sites/sites.js')
const app = new Koa()
app.use(router())
app.listen(80)sites/sites.js
const compose = require('koa-compose')
module.exports = ()=>{
return (ctx, next)=>{
compose(require('./onesite').middleware)(ctx, next)
}
}sites/onesite/index.js
const Koa = require('koa')
const serve = require('koa-static')
const app = new Koa()
app.use(serve('.'))
module.exports = app发布于 2018-05-27 09:12:28
您的问题在于您从sites.js返回的路由器
module.exports = ()=>{
return (ctx, next)=>{
compose(require('./onesite').middleware)(ctx, next)
}
}compose是一个异步函数,但您不需要等待它的承诺完成。解决这一问题的一种方法是返回compose返回的承诺,以便koa知道必须等待该承诺得到解决:
module.exports = ()=>{
return (ctx, next)=>{
return compose(require('./onesite').middleware)(ctx, next)
}
}另一种方法是使用await
module.exports = ()=>{
return async (ctx, next)=>{
await compose(require('./onesite').middleware)(ctx, next)
}
}https://stackoverflow.com/questions/50550558
复制相似问题