小册上新 | 学会 NestJS ,前端工程师也能写好后端项目

站内文章封面图(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

猜你喜欢

转载自juejin.im/post/7117179541054816287