使用Typescript封裝一款裝飾器風格的Nodejs Web框架

小雅發表於2018-02-12

說著也是奇怪,nodejs發展那麼多年了,基礎框架依舊橫行霸道,當你提到nodejs的時候肯定會有人說koa/express 云云,然後隨便搜尋一下教程,就是教你如何製作一款部落格。


誠然,nodejs強大的能力可不是給大家單單用來製作一款部落格的...


無論是express還是koa,都是屬於基礎框架。我認為基礎框架和企業級框架有兩點是不同的:

  • 基礎框架沒有任何的限制和約束,開發者可以以任意風格書寫自己的程式碼,業務邏輯
  • 企業級框架特別繁瑣


沒有任何約束的框架在一開始的時候會非常的爽快,開發幾個demo,手到擒來,但是一旦程式碼真正上去的時候(而且一定會),你就會發現,大量重複的操作,重複的邏輯,以及無法做單元測試。導致專案的複雜度越來越高,程式碼越來越醜,非常的難以維護。


為框架新增一些約束,就會增加其難用程度,學習成本變高,很多新手就會覺得:哎喲,我這樣寫邏輯也是可以的嘛,為什麼要搞那麼複雜?


程式設計就是這樣,如果你真正接觸過一個從零到有的專案,你就會知道,很多東西你剛開始逃避的,到最後你就得全部加回來,一個不少!話雖如此,跑題有甚,今天我們就來看看,如何將基礎框架koa變成一款低端的企業級框架



教程特色

  1. Typescript:使用TS寫成,使用裝飾器(@)進行路由。
  2. 物件導向:controller和service全部以類方式書寫
  3. 如何擴充koa的例項和koa的context物件
  4. 講解controller和service的生命週期(與egg相同)
  5. 使用高階Api去處理controller和service的例項,實現高效能
  6. 更好的觀看體驗,在gitbook上。
  7. 每一個步驟的程式碼,我都儲存下來了
  8. 免費的,但是是騙星的,覺得有收穫,就點個星,別無他求....
  9. 還沒寫完...寫了80%,還差實戰部分以及多程式架構與程式間通訊

目錄

專案地址:

floveluy/Burnjs​

圖示


  1. 大專案的標配Typescript · 使用Typescript封裝一款基礎企業級Web框架
  2. 自動編譯TS與伺服器自動重啟 · 使用Typescript封裝一款基礎企業級Web框架
  3. 路由拆分 · 使用Typescript封裝一款基礎企業級Web框架
  4. 引入Controller與Service的概念 · 使用Typescript封裝一款基礎企業級Web框架
  5. Controller的實現 · 使用Typescript封裝一款基礎企業級Web框架
  6. Service的實現 · 使用Typescript封裝一款基礎企業級Web框架
  7. 優雅的處理硬編碼(配置) · 使用Typescript封裝一款基礎企業級Web框架
  8. 小總結 · 使用Typescript封裝一款基礎企業級Web框架
  9. 路由去中心化 · 使用Typescript封裝一款基礎企業級Web框架
  10. 專案目錄結構的變化 · 使用Typescript封裝一款基礎企業級Web框架
  11. (非必要)外掛的實現 · 使用Typescript封裝一款基礎企業級Web框架
  12. 還欠缺的東西 · 使用Typescript封裝一款基礎企業級Web框架
  13. 抽離自己的框架burn.js · 使用Typescript封裝一款基礎企業級Web框架



這一次,每一個步驟的程式碼,都有了:


使用Typescript封裝一款裝飾器風格的Nodejs Web框架


為了閱讀更加舒適,我已經將教程和程式碼寫在Gitbook之中。


最後

誒,又來寫了一個輪子,這款輪子是是系列教程《使用Typescript封裝一款裝飾器風格的Web框架》配套框架,全部使用Typescript編寫完成。


在教程中,你將比較深入的瞭解到如何使用typescript&js的物件導向封裝,將koa一步步的封裝成為一款類egg.js的框架。


這樣,你能就更深入的瞭解eggjs,根基更加牢固,本教程也算是eggjs typescript的一個前置教程吧。


喜歡的,給點星星,是你給我最大的支援,感謝。


相關文章