1、介紹

直至今日,Express.js仍然是最為流行的Node.js Web應(yīng)用程序框架。它似乎已經(jīng)逐漸成為大多數(shù)Node.js Web應(yīng)用程序的基礎(chǔ)依賴框架,包括很多流行的框架,比如Sail.js就是以Express.js為基礎(chǔ)搭建的。然而現(xiàn)在我們有了更多“類sinatra”(注:sinatra是一款Ruby框架,代碼非常簡(jiǎn)潔,號(hào)稱開(kāi)發(fā)一個(gè)博客項(xiàng)目只需要100行代碼)似的框架可以選擇。也就是接下來(lái)我們將分別介紹的Koa和Hapi兩個(gè)框架。

 

本文的目的并不是打算去說(shuō)服大家去使用其中的任何一款框架,而是希望能夠幫助大家去對(duì)比分析這三個(gè)框架的優(yōu)劣勢(shì)。

  

2、框架背景

 

今天我們對(duì)比的這三款框架其實(shí)都有很多的共通點(diǎn)。比如他們都可以幾行代碼就能創(chuàng)建一個(gè)服務(wù),而且進(jìn)行REST API的開(kāi)發(fā)也是小菜一碟。下面我們就分別來(lái)看這三款框架吧。

 

2.1、Express

 

2009年6月26日,TJ Holowaychuk 第一次提交了Express的代碼。在2010年1月2日,Express正式發(fā)布了0.0.1版本,截止當(dāng)時(shí),作者已經(jīng)提交了超過(guò)660次代碼。當(dāng)時(shí)Express的兩位主要開(kāi)發(fā)維護(hù)者分別是TJ 以及 Ciaron Jessup。第一版發(fā)布的時(shí)候,Express在Github的readme.md介紹文件中式這么描述這塊框架