我正在使用koa-static来尝试Koa . 但是当使用多级包含关系时,它会一直返回 404 (Body: Not Found)
. 我不知道原因 .
To reproduce ,
Windows 10 x64,Node v9.11.1 Koa v2.5.1,koa-compose v4.1.0,koa-static v4.0.3,koa-send v4.1.3
Directory:
index.html index.js sites / sites.js sites / onesite / index.js
代码
index.html
Hello, koa
index.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
我不是英语发言者,请原谅一些语法错误 .
提前致谢!
1 回答
您的问题出在您从
sites.js
返回的路由器中:compose
是异步函数,但您不等待其承诺完成 . 解决此问题的一种方法是返回compose
返回的promise,以便koa
知道它必须等待解析该promise:另一种方法是使用
await
: