// 错误处理中间件
app.use(async (ctx, next) => {
try {
await next();
}
catch (err) {
// 在这里进行定制化的错误处理
}
});
// ...其他中间件至此,我们就完整实现了一个轻量版的koa框架。
结语
完整的simpleKoa代码库地址为:simpleKoa,里面还附带了一些example。
理解了这个轻量版koa的实现原理,读者还可以去看看koa的源码,会发现机制和我们实现的框架是非常类似的,无非是多了一些细节,比如说,完整koa的context/request/response方法上面挂载了更多好用的method,或者很多方法中容错处理更好等等。具体在本文中就不展开讲了,留给感兴趣的读者去探索吧~。









