近年来,Node.js 的发展让 JavaScript
变得非常热门,在 Node.js
生态圈中,主流的后端框架不外乎就是 Express 与 Koa,这些框架非常 自由 且 轻量,能够快速地帮助我们建立应用,因此非常受欢迎。
但由于这些框架本身非常自由,所以 没有严谨的架构规范,非常容易写出 高耦合、低内聚 的代码,甚至 文档结构非常松散,使用这些主流框架的开发者如果没有制定一套规范,将会面临许多挑战。
后来出现了一套名为 NestJS 的框架,它受到前端框架 Angular 的启发,运用大量的 设计模式 与 架构规范,再搭配强类型的 TypeScript,提供开发人员 严谨、易扩展、松耦合 的开发环境。
!提示:在本系列文章中,我将会用
Nest
表示NestJS
。
据官网介绍:
Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架。它利用 JavaScript 的渐进增强的能力,使用并完全支持 TypeScript (仍然允许开发者使用纯 JavaScript 进行开发),并结合了 OOP (面向对象编程)、FP (函数式编程)和 FRP (函数响应式编程) —— 摘自官网
Nest 结合3种程序设计的**:
- 面向对象编程 (Object Oriented Programming)
- 函数式编程 (Functional Programming)
- 函数式响应编程 (Functional Reactive Programming)
从这些概念中提取精华,再搭配设计模式,使 Nest 的整体架构十分清晰且严谨。
Nest 特点:
- 完美支持
Typescript
- 面向
AOP
编程 - 支持
Typeorm
- 高并发,异步非阻塞
IO
Node.js
版的spring
- 构建微服务应用
建议读者们至少要具备以下条件,会比较容易理解接下来的内容:
- 后端基本知识:至少要知道 HTTP、HTTP Methods。
- 具备 面向对象 编程思维。
- 有用过 Node.js。
- 会使用终端。