小冊上新 | 學會 NestJS ,前端工程師也能寫好後端專案

語言: CN / TW / HK

theme: Chinese-red

站內文章封面圖(1301x734).jpg

我們知道, Node.js 風靡全球的一個重要原因就是,前端開發者可以使用相同的程式語言來編寫前端和後端,而 NestJS 是近幾年來 Node.js 中增長最快的框架。

為什麼 NestJS 的熱度越來越高?

常規的服務端框架如 Express 與 Koa 等都偏底層,本質是針對 Node.js 的 HTTP 底層模組做了最基礎的封裝,提供了更方便的外掛機制,讓開發者可以自由定製自己的模組。但自由化程度更高也就意味著,對開發者的程式碼開發、架構與設計的能力要求更高。同時工程化的程度更低,因為要使用 Koa 跟 Express 完成一個專案,需要很多第三方的模組整合甚至需要自己編寫一個外掛。

相比之下,NestJS 的工程化程度更高。 NestJS 是一個用於構建高效,可擴充套件的 Node.js 伺服器端應用程式的框架,提供了對接多種 HTTP 框架的能力,並結合了 OOP(面向物件程式設計)、FP(函數語言程式設計)和 FRP(函式式響應程式設計)的元素,為服務端專案開發提供了認證、快取、資料庫、安全、檔案處理等一系列開箱即用的方案

因此,越來越多的團隊在大型 Node.js 服務端專案中使用 NestJS。

但是,作為偏後端開發的框架,NestJS 基於 IoC 的開發模式對前端工程師來說並不友好,比如大量的裝飾器、反射的用法與常規的 JavaScript 開發模式不太一樣。這本小冊也因此誕生。

小冊是如何設計的?

在這本小冊中, CookieBoty 將帶大家一起學習並使用 NestJS,共同搭建一個閘道器服務系統

作者簡介(2100x389).jpg

具體來說,小冊分為兩個模組。

基礎學習模組:將通過搭建一套定製化的腳手架來學習 NestJS 框架的使用,瞭解 NestJS 常用的 API、外掛等,熟悉 IoC 的開發模式。

專案實戰模組:逐步完成使用者系統、物料系統以及閘道器基礎服務,完成閘道器服務系統體系的搭建,帶你瞭解後端服務架構設計、資料庫表設計與開發、微服務開發等後端知識體系。

image.png

一個完整網關係統的功能是非常大而全的,但是小冊並不會實現全部的模組,而是挑選幾個比較常見的模組來完成自研 Gateway 開發。這之後,你可以根據團隊或者自己的需求,繼續優化這個專案拓展需要的模組,達到理想可用的狀態。

image.png

我們的網關係統架構可以分為以下幾個模組。

首先是閘道器基礎服務。 流量入口有 Nginx 做負載均衡,我們閘道器的基礎服務專注於代理模組的開發: 1. 專注於前後端資源分發以及不同型別的專案 API 分發; 2. 常用資源快取模組; 3. AB Test 模組; 4. 通用日誌模組。

然後是統一的使用者中心繫統,包括使用者登入、認證等基礎功能和許可權系統(基於 RBAC 包括角色、系統、資源等許可權控制)。

最後是物料系統。 物料系統主要來管理靜態資源,一般跟 DevOps 關聯比較大,但我們的主題並不是 DevOps,所以物料系統只是作為一個輔助型別的專案為閘道器服務提供靜態資源路由的配置、資源版本的管理等功能。

總的來說,小冊將藉助這個網關係統的搭建過程,儘可能模擬真實場景下專案開發流程,讓前端工程師也能順利實現服務端專案開發的從 0 到 1 。

上新特惠,限時 6 折

7 月 6 日 ~ 7 月 13 日,小冊正值上新特惠,限時 6 折,僅需 ¥17.94

趕緊點選下方圖片或者掃描海報二維碼,一起加入學習吧!

海報-小冊姐.jpeg