Nest-初识 Nest
Nest
是什么?Nest
是一个用于构建高效且可伸缩的服务端应用程序的框架。明明都已经有了node
为什么还要搞其他的呢?
起初Node
是作为服务端应用的,最熟悉的一个项目就是Node社区
,它的源码就是用的Node + mongodb
,可以说Node
就是Node社区
的灵魂。
Node社区
也是在node
上昙花一现,也是把Node
发挥到了最大的极致;
但是说了这么多,为什么要和Nest
联系到一起呢?
- 首先,
Nest
是在Node, Express
基础上扩展的,功能要比原有的丰富的很多; Nest
作为前端中的后端,但是语法上面肯定要类似于纯后端,值得一提的是Nest
是ts
开发的,那么在定义接口参数的时候,Nest
提供了DTO
的概念,DTO
是Data Transfer Object
的缩写,翻译过来就是数据传输对象;Nest
在使用数据库的时候,Nest
提供了TypeORM
的概念,TypeORM
是TypeScript
的ORM
框架,TypeORM
是Node
中非常流行的ORM
框架,Nest
使用TypeORM
作为默认的ORM
框架,Nest
提供了TypeORM
的封装,使得Nest
的ORM
操作更加简单;Nest
是为了构建高效可扩展的 Nodejs 服务端的应用框架,内置完全支持 ts;Nest
框架底层 HTTP 平台默认是基于 Express 实现的,所以无需担心第三方库的缺失。 Nest 旨在成为一个与平台无关的框架。 通过平台,可以创建可重用的逻辑部件,开发人员可以利用这些部件来跨越多种不同类型的应用程序。 nest 目前有两个支持开箱即用的 HTTP 平台:express 和 fastify 可以在项目中直接引入。
既然选择Nest
作为服务端的开发语言,那么就要简单的学习其基础知识;好在之前接触过Node
开发经验,那上手实践就可以了;
关于如何创建项目,命令行就在这里不介绍了;像前端的命令行基本都是一致的;
项目文件的介绍在官网查阅; Nest
入口文件以及项目启动
有一个项目入口文件,main.ts;通过内置命令创建一个端口 3000 的服务,而引入的 module 文件指向对于项目文件的 module 文件;如下代码
1 | import { Module } from "@nestjs/common"; |
上面代码中引入的模块是以数组的形式存在的,可以引入不同的控制器;
当然我们在新建一个新的控制器,目的是为了查询数据库里的用户信息;
1 | // app.controller.ts |
简单介绍一下, 后期等用到真正开发的时候具体说明; 仅仅做一个文档记录看法;
之后的文章,我将会总结一些Nest
的概念,以及一些Nest
的实践;
Nest
过滤器,将一些错误拦截统一返回结果Nest
管道,将一些参数拦截统一返回结果, 统一处理参数;数据库参数
拦截,摒弃之前传统的if
判断;- 登录,权限拦截
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Welcome to Wang Xiaoze blog!