我的後端NodeJS框架Summer釋出了
Github http://github.com/calidan-x/summer
希望大家能給專案點顆星 ⭐
2020年起我入職 Thoughtworks
我的開發工作主要是寫前端,同時我也開始兼顧Java後端開發,在經歷了一年的Spring Boot開發後,我瞭解到了Java後端開發的好處,資料型別的嚴謹性,注入與註解寫法的易用性。
也開始琢磨著能不能自己寫一套類似Spring Boot的NodeJS後端框架。在利用NodeJS程式記憶體使用少,更適用於無服務,編寫程式碼更靈活的特點基礎上,提高程式碼型別判斷的嚴謹性,Summer框架就此開始....
之後我把許多工程開發上的具體問題的解決方案都融入到了框架中,每個模組都儘可能的做細做好。
到今天Summer實現了後端需要的95%主要功能,還支援外掛擴充套件包括:
- Restful路由
- 請求驗證
- 中介軟體
- 服務注入
- DTO轉換
- Session與Cookie
- 檔案上傳
- 日誌
- 跨域
- 自定義裝飾器(註解)
- 環境配置
- 部署打包(Serverless支援)
- 靜態伺服器
- 測試
- 資料庫
- Swagger文件生成 ...
Summer 的目標是提供一個簡單快捷的適用於微服務與無服務(Serverless)的高質量企業級框架。
主要特點
-
愉快的程式設計體驗\ Summer 關心程式設計師的程式碼編寫體驗,將學習難度和編碼難度降低,讓你輕鬆完成開發工作。
-
執行時 TypeScript 請求驗證\ TypeScript在編譯後會消去型別變成 JavaScript 程式碼,API資料請求的型別判斷在其他 NodeJS 後端框架通常需要在請求的DTO上做額外標註,Summer在編譯時可以讀取並自動標註請求結構型別,省去了型別的重複標註。
-
簡單 DTO 轉換\ 後端開發會有大量的程式碼在做 DTO 轉換,類似Java這樣的開發語言碰到大物件常常要做大量的賦值,Summer提供了簡單DTO轉換方法。
-
自定義 Decorator\ 除內建的 Decorator 外,Summer還提供了簡易的 Decorator 建立方法,讓你輕鬆寫出 @RequireLogin 之類的功能,讓你的程式碼更優雅。
-
一次編譯部署多種型別伺服器\ Summer 使用 ESBuild 打包,一次性打包成一個可執行檔案,讓部署變得更簡單。這個相容的可執行檔案不僅可以使用 node 命令啟動執行在Linux伺服器或 K8S 叢集,還可以直接部署到 Serverless 平臺(AWS Lambda/阿里雲FC),不需要修改任何配置。