不同:
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 的中間件基本不能重用,基本要重寫;依然需要更多人的支持和學習