Using express middleware in koa
Also, you can try koa-connect: https://github.com/vkurchatkin/koa-connect
It looks quite straightforward:
var koa = require('koa');var c2k = require('koa-connect');var app = koa();function middleware (req, res, next) { console.log('connect'); next();}app.use(c2k(middleware));app.use(function * () { this.body = 'koa';});app.listen(3000);
koa is incompatible with express middleware. (see this blog post for a detailed explaination, especially the part 'Better written middleware').
You could rewrite you middleware for koa. The koa wiki has a special guide for writing middleware.
The req
and res
that you would receive in an express middleware are not directly available in koa middleware. But you have access to the koa request and the koa response objects via this.request
and this.response
.
I have create koa2-connect on npm for koa2. https://github.com/cyrilluce/koa2-connect
npm i koa2-connect -S// usage same as koa-connect
Because koa-connect's author haven't publish next version( npm i koa-connect@next didn't work ), and it is not compatible with webpack-dev-middleware and webpack-hot-middleware.