theme: channing-cyan highlight: atelier-cave-dark
1、NestJS 介绍
Nest 是一个渐进的 Node.js 框架,可以在 TypeScript 和 JavaScript (ES6、ES7、ES8)之上构 建高效、可伸缩的企业级服务器端应用程序。
Nest 基于 TypeScript 编写并且结合了 OOP(面向对象编程),FP(函数式编程)和 FRP (函数式响应编程)的相关理念。在设计上的很多灵感来自于 Angular,Angular 的很多模 式又来自于 Java 中的 Spring 框架,依赖注入、面向切面编程等,所以我们也可以认为: Nest 是 Node.js 版的 Spring 框架。
Nest 框架底层 HTTP 平台默认是基于 Express 实现的,所以无需担心第三方库的缺失。 Nest 旨在成为一个与平台无关的框架。 通过平台,可以创建可重用的逻辑部件,开发人员 可以利用这些部件来跨越多种不同类型的应用程序。 从技术上讲,Nest 可以在创建适配器后使用任何 Node HTTP 框架。有两个支持开箱即用的 HTTP 平台:express 和 fastify。您 可以选择最适合您需求的产品。
NestJs 的核心思想:就是提供了一个层与层直接的耦合度极小,抽象化极高的一个架构 体系。
2、NestJs和Egg.js的一些简单对比
-
Egg.js 是和 Nest.js 都是为企业级框架和应用而生。
-
Egg.js 和 Nest.js 都是非常优秀的 Nodejs 框架。Egg.js 基于 Koa,Nest.js 默认基于 Express,nest 也可以基于其他框架
-
Egg.js 文档相比 Nestjs 优秀很多
-
Express、Koa 是 Node.js 社区广泛使用的框架,简单且扩展性强,非常适合做个 人项目。但框架本身缺少约定,标准的 MVC 模型会有各种千奇百怪的写法。Egg 和 Nestjs 都是按照约定进行开发的。但是 Egg 相比 Nestjs 约定更标准。
-
面向对象方面 Nestjs 优于 Egg.js,Nestjs 基于 TypeScript,如果你会 angular 或者 java 学习 Nestjs 非常容易。
3、NestJS 环境搭建 、创建运行 NestJS 项目
安装 Nest CLI:
npm i -g @nestjs/cli 或者 cnpm i -g @nestjs/cli 或者 yarn global add @nestjs/cli
使用Nest CLI创建项目:
nest new nestdemo