Nestjs教程-Nestjs介绍 环境搭建、创建运行Nestjs项目、分析Nest架构

387 阅读3分钟

此视频完全免费,视频观看地址:www.bilibili.com/video/BV1jJ…

1、Nest.js介绍:

Nest.js是一个渐进的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。 您可以选择最适合您需求的产品。

2023年3月13日统计NestJs目前周下载量已经达到200多万了,趋势还在继续上涨,可以看到目前使用NestJs的童鞋还是挺多。

nestjs8.png

2、NestJs的核心思想:

就是提供了一个层与层直接的耦合度极小,抽象化极高的一个架构体系。 Nestjs目前在行业内具有很高的关注度,所以我们有必要学习一下。

官网:nestjs.com/

中文网站:docs.nestjs.cn/

GitHub: github.com/nestjs/nest

3、NestJS和Egg.js的一些简单对比:

1、Egg.js是和Nest.js 都是为企业级框架和应用而生。

2、 Egg.js和Nest.js都是非常优秀的Nodejs框架。Egg.js基于Koa,Nest.js默认基于Express,nest也可以基于其他框架。

3、 Egg.js文档相比Nestjs优秀很多。

4、 Express、Koa 是 Node.js 社区广泛使用的框架,简单且扩展性强,非常适合做个人项目。但框架本身缺少约定,标准的 MVC 模型会有各种千奇百怪的写法。Egg 和Nestjs都是按照约定进行开发的。但是Egg相比Nestjs约定更标准。

5、 面向对象方面Nestjs优于Egg.js,Nestjs基于TypeScript, 如果你会angular或者java学习Nestjs非常容易。

Egg.js的特性:

提供基于 Egg 定制上层框架的能力

高度可扩展的插件机制

内置多进程管理

基于 Koa 开发,性能优异

框架稳定,测试覆盖率高

渐进式开发

Nestjs的特性:

依赖注入容器

模块化封装

可测试性

内置支持 TypeScript

可基于Express或者fastify

4、学习NestJS必备基础:

Nest.js 受到了 Angular 的启发,甚至很多装饰器命名也完全一样,基本上可以无缝切换前后端。会java或者larave或者Angualr的话学习Nest会非常容易。

必备基础:在学习Nestjs之前我们必须要有Nodejs、Typescript、Express、Mongodb基础。 Nodejs+Mongodb+Express基础(免费):www.itying.com/goods-800.h…

Typescript入门实战教程(免费):www.itying.com/goods-905.h…

5、NestJS环境搭建 、创建运行NestJS项目

1、电脑上面必须安装nodejs环境,推荐安装nodejs最新稳定版本

2、安装 Nest CLI以及使用 Nest CLI创建项目

安装 Nest CLI:

npm i -g @nestjs/cli   或者 cnpm i -g @nestjs/cli  或者 yarn global add @nestjs/cli

使用Nest CLI创建项目:

nest new nestdemo

image.png

image.png

运行刚创建项目:

image.png

Nestjs目录结构介绍以及执行流程:

image.png