认识NestJS
用于构建高效且可伸缩的服务端应用程序的渐进式 Node.js 框架。以在TypeScript和JavaScript (ES6、ES7、ES8)之上构建高效、可伸缩的企业级服务器端应用程序。它的核心思想是提供了一个层与层直接的耦合度极小、抽象化极高的一个架构体系。Nest.js目前在行业内具有很高的关注度,所以我们有必要学习一下。
Nest.js基于TypeScript 编写并且结合了 OOP(面向对象编程),FP(函数式编程)和 FRP(函数式响应编程)的相关理念。在设计上的很多灵感来自于 Angular,Angular 的很多模式又来自于 Java 中的 Spring 框架,依赖注入、面向切面编程等,所以我们也可以认为: Nest.js是Node.js 版的 Spring 框架。
Nest框架底层 HTTP平台默认是基于 Express 实现的,所以无需担心第三方库的缺失,Nest 旨在成为一个与平台无关的框架。 通过平台,可以创建可重用的逻辑部件,开发人员可以利用这些部件来跨越多种不同类型的应用程序。 从技术上讲,Nest 可以在创建适配器后使用任何Node HTTP 框架。 有两个支持开箱即用的 HTTP 平台:express 和 fastify。无论使用哪种平台,它都会暴露自己的 API。 它们分别是NestExpressApplication 和 NestFastifyApplication
特点:
完美支持 Typescript
面向 AOP 编程
支持 Typeorm
高并发,异步非阻塞 IO
Node.js 版的 spring
构建微服务应用
安装NestJS
使用 Nest CLI 建立新项目非常简单。 只要确保你已经安装了 npm,然后在你的终端中使用以下命令:
npm i -g @nestjs/cli
nest new project-name
将创建 project 目录, 安装node模块和一些其他样板文件,并将创建一个 src 目录,目录中包含几个核心文件。
src
├── app.controller.ts 带有单个路由的基本控制器示例
├── app.module.ts 应用程序