在Koa中使用Express中间件

node.js KoaJS

老丝宝儿

2020-03-30

我有实现一个中间件的现有代码。如何在Koa应用程序中使用此中间件?

当我尝试调用app.use(expressMiddleware)以在我的Koa应用程序中使用中间件时,Koa抱怨需要生成器函数:

AssertionError: app.use() requires a generator function

所以我想这里需要某种适配器或技巧...想法?

第3848篇《在Koa中使用Express中间件》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
宝儿 2020.03.30

我已经在npm上为koa2创建了koa2-connect。https://github.com/cyrilluce/koa2-connect

npm i koa2-connect -S
// usage same as koa-connect

由于koa-connect的作者尚未发布下一版本(npm i koa-connect @ next无法正常工作),并且与webpack-dev-middleware和webpack-hot-middleware不兼容。

2020.03.30

koa与快速中间件不兼容。有关详细说明,请参见此博客文章,尤其是“更好地编写中间件”部分)。

您可以为koa重写中间件。koa Wiki具有编写中间件的特殊指南

在快速中间件中将收到reqres,在koa中间件中不直接可用。但是您可以通过访问koa 请求和koa 响应对象this.requestthis.response

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android