koa2-hmr-middleware
Version:
HRM middleware ( webpack-dev-middleware, webpack-hot-middleware) for koa2
35 lines (32 loc) • 1.02 kB
JavaScript
;
const rowDevMiddleware = require('webpack-dev-middleware');
function devMiddleware (compiler, options){
var middleware = rowDevMiddleware(compiler, options);
return async function adapter(ctx, next){
await new Promise(resolve => {
var req = ctx.req;
var res = {
locals: {},
setHeader(field, value){
ctx.set(field, value);
},
send: null, // disable send method
end(body){
ctx.body = body;
resolve();
}
}
Object.defineProperty(res, 'statusCode', {
get(){
return ctx.status;
},
set(val){
return ctx.status = val;
}
})
middleware(req, res, resolve)
});
return next();
}
}
module.exports = devMiddleware;