在koa中间件中使用ctx
Using ctx in koa middlware
我有一个正在使用的 koa 中间件:
.use(signS3())
我现在要做的是在 signS3() 的配置对象中使用来自 koa 的 ctx
对象。我想做这样的事情:
.use((ctx, next) => signS3({ keyPrefix: ctx.host })(ctx, next))
但这行不通。我想我的语法有误,希望能提供有关如何执行此操作的任何输入。
您正在使用为 koa@1
编写的中间件,它使用生成器而不是 async/await
。当 运行 您的应用程序:
时,您应该注意到此警告
koa deprecated Support for generators will be removed in v3. See the documentation for examples of how to convert old middleware https://github.com/koajs/koa/blob/master/docs/migration.md
为了在 koa@2
中使用此中间件,您需要手动或使用 koa-convert 对其进行转换。例如:
const convert = require('koa-convert');
app.use(
(ctx, next) => convert(
signS3({
bucket: 'MyBucket',
keyPrefix: ctx.host,
})
)(ctx, next)
);
的官方文档
我有一个正在使用的 koa 中间件:
.use(signS3())
我现在要做的是在 signS3() 的配置对象中使用来自 koa 的 ctx
对象。我想做这样的事情:
.use((ctx, next) => signS3({ keyPrefix: ctx.host })(ctx, next))
但这行不通。我想我的语法有误,希望能提供有关如何执行此操作的任何输入。
您正在使用为 koa@1
编写的中间件,它使用生成器而不是 async/await
。当 运行 您的应用程序:
koa deprecated Support for generators will be removed in v3. See the documentation for examples of how to convert old middleware https://github.com/koajs/koa/blob/master/docs/migration.md
为了在 koa@2
中使用此中间件,您需要手动或使用 koa-convert 对其进行转换。例如:
const convert = require('koa-convert');
app.use(
(ctx, next) => convert(
signS3({
bucket: 'MyBucket',
keyPrefix: ctx.host,
})
)(ctx, next)
);
的官方文档