koa.js 的区别是什么?
中间件模型不同:express 的中间件模型为线型,而 koa 的为U型(洋葱模型)。
对异步的处理不同:express 通过回调函数处理异步,而 koa 通过generator 和 async/await 使用同步的写法来处理异步,后者更易维护,但彼时 Node.js 对 async 的兼容性和优化并不够好,所以没有流行起来。
功能不同:express 包含路由、渲染等特性,而 koa 只有 http 模块。
总得来说,express 功能多一点,写法烂一点,兼容性好一点,所以当时更流行。虽然现在 Node.js 已经对 await 支持得很好了,但是 koa 已经错过了风口。
不过 express 和 koa 的作者都是 TJ 大神。
Last updated