koa2中间件问题
const Koa = require('koa')
const static = require('koa-static')
const path = require('path')
const app = new Koa()
const test1 = async (ctx, next) => {
console.log('test1')
await next()
}
const test2 = (ctx, next) => {
console.log('test2')
next()
}
app.use(static(path.join(__dirname, 'dist')))
app.use(test1)
app.use(test2)
app.listen(8999, () => {
console.log(8999)
})
进入localhost:8999后,test1
,test2
两个中间件没有被触发
跟koa-static
调换位置之后
app.use(test1)
app.use(test2)
app.use(static(path.join(__dirname, 'dist')))
test1
,test2
两个中间件触发了,但koa-static
没被触发。
难道koa-static
没有next()
么,并且为何调换位置后koa-static
也触发不得
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
convert 一下
把第二个中间件写成异步的就可以了
koa中间件执行后必须返回一个promise,如果非要用普通的函数写法,可以这样:
如果你非要搞懂,可以看下这篇文章深入浅出koa2
再补充一下,不知道你看完这个能不能理解
middleware/a.html: