1、介紹
直至今日,Express.js仍然是最為流行的Node.js Web應用程序框架。它似乎已經(jīng)逐漸成為大多數(shù)Node.js Web應用程序的基礎依賴框架,包括很多流行的框架,比如Sail.js就是以Express.js為基礎搭建的。然而現(xiàn)在我們有了更多“類sinatra”(注:sinatra是一款Ruby框架,代碼非常簡潔,號稱開發(fā)一個博客項目只需要100行代碼)似的框架可以選擇。也就是接下來我們將分別介紹的Koa和Hapi兩個框架。
本文的目的并不是打算去說服大家去使用其中的任何一款框架,而是希望能夠幫助大家去對比分析這三個框架的優(yōu)劣勢。
2、框架背景
今天我們對比的這三款框架其實都有很多的共通點。比如他們都可以幾行代碼就能創(chuàng)建一個服務,而且進行REST API的開發(fā)也是小菜一碟。下面我們就分別來看這三款框架吧。
2.1、Express
2009年6月26日,TJ Holowaychuk 第一次提交了Express的代碼。在2010年1月2日,Express正式發(fā)布了0.0.1版本,截止當時,作者已經(jīng)提交了超過660次代碼。當時Express的兩位主要開發(fā)維護者分別是TJ 以及 Ciaron Jessup。第一版發(fā)布的時候,Express在Github的readme.md介紹文件中式這么描述這塊框架