如何系統地學習 Express?

雖然我找到了文檔翻譯,可還沒學 Node

另外也沒搜到相關的博文

http://www.csser.com/tools/express-js/express-guide-reference-zh-CN.html


先從基礎說起吧,Node.js使用javascript語言,所以JS的語法、特性及OO肯定要先掌握了,再學習node的api,特別需要領會事件驅動及非同步編程的思想,這算是一個很大的轉變,Node主要用於網路應用,所以網路編程內容多看下。

express是一個基於node的web框架(集成web伺服器+mvc),當然其實不用框架,使用node自己弄一個web伺服器和mvc框架也不是很麻煩(Node為網路而生,當然強大的不止這點),但是有優秀的express,封裝了很多常用功能,推薦用。

學習express肯定是先把api過一遍,文檔中的簡單例子都試試,但這肯定是不夠的,要深入了解還是得看源碼,express主要依賴connect(基於node的http伺服器框架,提供大量的中間件幫助用戶構建強大靈活的web server),所以深入connect也是有必要的。

Node.js api:http://nodejs.org/docs/v0.5.10/api

express api:http://expressjs.com/guide.html

connect:https://github.com/senchalabs/connect


ExpressJS其實是極簡單,也極好學的。

  1. 用 Express application generator 生成一個應用
  2. 在你做其它事之前,先通讀Using Express middleware,Writing middleware for use in Express apps,參照你已經生成的項目代碼,理解了middleware你會覺得ExpressJS非常簡單,根本不用學。不理解middleware,你會覺得好像Express有很多概念似的
  3. 其餘的,都算不上核心,模版引擎沒什麼需要特別學的,資料庫調用老老實實用就行了。當你會寫middleware來解決問題的時候,你已經理解了ExpressJS。

好好的官方文檔在那,你非得文檔翻譯和博文,越搞越複雜。

Node (Express) 的Middleware模式


不能一上來就學express,因為他是基於node的框架,不懂node的原理就無法學會express。而node的理論基礎又是javascript的event-loop非同步機制,所以那裡應該是你學習node.js的起點。 別把學node.js當做學java或php那樣看待,原因就在於他的非同步編程思想。

node的中文資料很少,推薦從這篇英文文章看起 http://www.nodebeginner.org/


我去,確實是好多年前的問題了

但還是要 不要臉 說一下,我剛剛寫了一篇關於express 的 blog 知乎專欄,感覺寫得挺亂的,各位閑暇時候湊活著看看唄


非同步是個難點,與過去的傳統設計有所不同。如果可以深刻領會掌握非同步的概念,node.js才算是掌握了


說實話這東西很難學的, 一是中文資料太少, 而是裡面融合了太多了概念. 建議先學js, 然後學習js的mvc, 模板, 然後在學一個後端語言,例如php 和codeigniter框架 然後在學nodejs 基本各種概念弄明白了 學起來就快了


最重要的原理,基礎知識,一個請求怎麼最後變成一個HTML頁面。其實都是套路。

我以前玩C#的,最近用nodejs,express擼了些爬蟲跟小站。反正都是套路,express跟http://asp.net mvc 或者jsp這種沒啥區別,請求&>路由&>拿數據&>出模型&>丟給視圖引擎&>渲染HTML&>丟瀏覽器。明白了web/http的原理其實看啥都一樣。

至於非同步,好像也沒啥,很順其自然的,畢竟跟我寫C#的時候task await async ()=&> 滿天飛 。


好多年前的問題啊.

Express in action 強烈推薦.


推薦閱讀:

使用markdown製作的html幻燈片有哪些?
Node.js 發展前景如何?適用於哪些場景?
nunjucks如何在express 4中使用?
深JS(2015 JS中國開發者大會)有哪些女生參加?
如何在docker里部署nodejs?

TAG:Nodejs | 前端開發框架和庫 | Express框架 |