說著也是奇怪,nodejs發展那麼多年了,基礎框架依舊橫行霸道,當你提到nodejs的時候肯定會有人說koa/express 云云,然後隨便搜尋一下教程,就是教你如何製作一款部落格。
誠然,nodejs強大的能力可不是給大家單單用來製作一款部落格的...
無論是express還是koa,都是屬於基礎框架。我認為基礎框架和企業級框架有兩點是不同的:
- 基礎框架沒有任何的限制和約束,開發者可以以任意風格書寫自己的程式碼,業務邏輯
- 企業級框架特別繁瑣
沒有任何約束的框架在一開始的時候會非常的爽快,開發幾個demo,手到擒來,但是一旦程式碼真正上去的時候(而且一定會),你就會發現,大量重複的操作,重複的邏輯,以及無法做單元測試。導致專案的複雜度越來越高,程式碼越來越醜,非常的難以維護。
為框架新增一些約束,就會增加其難用程度,學習成本變高,很多新手就會覺得:哎喲,我這樣寫邏輯也是可以的嘛,為什麼要搞那麼複雜?
程式設計就是這樣,如果你真正接觸過一個從零到有的專案,你就會知道,很多東西你剛開始逃避的,到最後你就得全部加回來,一個不少!話雖如此,跑題有甚,今天我們就來看看,如何將基礎框架koa變成一款低端的企業級框架。
教程特色
- Typescript:使用TS寫成,使用裝飾器(@)進行路由。
- 物件導向:controller和service全部以類方式書寫
- 如何擴充koa的例項和koa的context物件
- 講解controller和service的生命週期(與egg相同)
- 使用高階Api去處理controller和service的例項,實現高效能
- 更好的觀看體驗,在gitbook上。
- 每一個步驟的程式碼,我都儲存下來了
- 免費的,但是是騙星的,覺得有收穫,就點個星,別無他求....
- 還沒寫完...寫了80%,還差實戰部分以及多程式架構與程式間通訊
目錄
專案地址:
- 大專案的標配Typescript · 使用Typescript封裝一款基礎企業級Web框架
- 自動編譯TS與伺服器自動重啟 · 使用Typescript封裝一款基礎企業級Web框架
- 路由拆分 · 使用Typescript封裝一款基礎企業級Web框架
- 引入Controller與Service的概念 · 使用Typescript封裝一款基礎企業級Web框架
- Controller的實現 · 使用Typescript封裝一款基礎企業級Web框架
- Service的實現 · 使用Typescript封裝一款基礎企業級Web框架
- 優雅的處理硬編碼(配置) · 使用Typescript封裝一款基礎企業級Web框架
- 小總結 · 使用Typescript封裝一款基礎企業級Web框架
- 路由去中心化 · 使用Typescript封裝一款基礎企業級Web框架
- 專案目錄結構的變化 · 使用Typescript封裝一款基礎企業級Web框架
- (非必要)外掛的實現 · 使用Typescript封裝一款基礎企業級Web框架
- 還欠缺的東西 · 使用Typescript封裝一款基礎企業級Web框架
- 抽離自己的框架burn.js · 使用Typescript封裝一款基礎企業級Web框架
這一次,每一個步驟的程式碼,都有了:
為了閱讀更加舒適,我已經將教程和程式碼寫在Gitbook之中。
最後
誒,又來寫了一個輪子,這款輪子是是系列教程《使用Typescript封裝一款裝飾器風格的Web框架》配套框架,全部使用Typescript編寫完成。
在教程中,你將比較深入的瞭解到如何使用typescript&js的物件導向封裝,將koa一步步的封裝成為一款類egg.js的框架。
這樣,你能就更深入的瞭解eggjs,根基更加牢固,本教程也算是eggjs typescript的一個前置教程吧。
喜歡的,給點星星,是你給我最大的支援,感謝。