在以下情况下,为什么koa-static不能与koa-router一起工作
const Koa = require("koa")
const serve = require("koa-static")
const Router = require("koa-router")
const app = new Koa()
const router = new Router()
// fails with 404... why?
router.use(serve("public"))
// // this, on the other hand, works
// app.use(serve("public"))
app.use(router.middleware())
app.listen(8080)
// browse to "http://localhost:8080/testfile.txt"我制作了这个GitHub代码库来演示这个问题:koa-router-static-issue
发布于 2019-02-01 09:32:58
这基本上就是我们在应用程序中配置内容的方式。
它使用koa-mount将静态文件服务器挂载到特定的根URL处。如果静态文件URL与路由的名称空间重叠,则静态文件获胜。
const Koa = require('koa')
const Router = require('koa-router')
const serve = require('koa-static')
const mount = require('koa-mount')
const app = new Koa()
const router = new Router()
router.get('/public/foobar.txt', (ctx,next) => {
ctx.body = "Ta-Da!"
ctx.status = 200
return;
})
app.use( mount( '/public', serve('./public') ) ) ;
app.use( router.middleware())
app.listen( 8080 ) ;https://stackoverflow.com/questions/54285727
复制相似问题