我正在使用koa的一些模块,他们只有这个用koa v1而不是v2编写的文档 . 因为我之前从未使用过v1,所以我不知道如何在v2中编写这个 .
app
.use(body({
IncomingForm: form
}))
.use(function * () {
console.log(this.body.user) // => test
console.log(this.request.files) // or `this.body.files`
console.log(this.body.files.foo.name) // => README.md
console.log(this.body.files.foo.path) // => full filepath to where is uploaded
})
3 回答
从Koa v1更改为Koa v2是一个非常简单的过程 . 版本颠簸的唯一原因是它使用
async
函数而不是中间件的生成器 .示例v1中间件:
示例v2中间件:
使用
async
函数代替生成器,并接受ctx
作为参数而不是使用this
.将
function *()
更改为async function(ctx)
,其中koa2中的ctx
与koa1中的this
相似见:http://koajs.com/#context