不同:
1.启动方式不同
koa采用了new Koa()
的方式,而express采用传统的函数形式
2.中间件形式二者不一样,这是由二者处理中间件的逻辑差异导致的,实际上这也是二者最根本的差别
3.koa没有回调,而express有回调。
Express 和 Koa 最明显的差别就是 Handler 的处理方法,一个是普通的回调函数,一个是利用生成器函数(Generator Function)来作为响应器。往里头儿说就是 Express 是在同一线程上完成当前进程的所有 HTTP 请求,而 Koa 利用 co 作为底层运行框架,利用 Generator 的特性,实现“协程响应”
Express:
优点:历史更久,文档更完整,资料更多,深入人心
缺点:不能忍的 callback
Koa:
优点:No Callback! No Callback! No Callback! 重要的事情说三遍!
缺点:Connect/Express 的中间件基本不能重用,基本要重写;依然需要更多人的支持和学习