nest.js学习(1)

nest.js

中文官网: https://docs.nestjs.cn/8/introductionnest.js学习(1)

基本使用

nest.js学习(1)
当我们按照官网执行开启项目后就如下结构
nest.js学习(1)
app跟模块,控制器,以及提供者。
nest.js学习(1)
控制器用来控制路由,我们首先看下控制器,
nest.js学习(1)
看到这种其实可以想到其用法了,nest.js学习(1)
这里用来写路由相关的控制。
appService是数据提供者,如
nest.js学习(1)
类似于依赖注解这样。

关联Mongodb数据库

nest.js学习(1)

创建集合

nest.js学习(1)

使用

nest.js学习(1)
与express框架这些关联数据库是差不多的。

接口类定义

nest.js学习(1)
这里可以获取到像express中的req.params,req.body,req.query这些,而且比如这个post请求的请求体Body可以定义数据类型nest.js学习(1)
这样就可以正常使用了。
在前台只需要发送这个数据体就可以创建一个贴子,并且存到数据库。

edit

nest.js学习(1)

验证管道

yarn add class-vaildator class-transform
nest.js学习(1)
nest.js学习(1)
当title的属性没有传的时候就会报错。
nest.js学习(1)

使用依赖注入

上面我们写的代码都是类似于express的,后期解耦难,nest官网提供了其他方法
nest.js学习(1)
首先连接,将其导入到appmodule中,
nest.js学习(1)
在这里导入对应的模块,
nest.js学习(1)
使用依赖注入的方法,这样就可以通过catModel访问这个集合。
看实际代码:
npm i --save nestjs-typegoose

连接数据库

nest.js学习(1)

定义集合

nest.js学习(1)

在模块中注册集合

nest.js学习(1)

在控制器中依赖注入

nest.js学习(1)
这样在这个控制器中就可以
nest.js学习(1)
this.PostMode去找打这个集合进行操作。

CRUD

我们可以会对很多模块进行增删改查,所以可以实现一个统一的接口。
yarn add nestjs-mongoose-crud
这个库是b站全栈之巅作者写的,具体用法如图
nest.js学习(1)
讲要用的模型注入进去,然后下面的Model就是通用的了,比如你可以注册Post模型,可以注册user模型等等。接口共用。
nest.js学习(1)
接着把全部接口注释掉,因为这个库默认帮助我们实现五个接口,
nest.js学习(1)
曾删改查。
试下第一个
nest.js学习(1)
正常返回。

提示

nest.js学习(1)
我们可以在定义集合的时候
nest.js学习(1)
这样定义,就有例子了。

接着我们细看这个Crud

nest.js学习(1)
nest.js学习(1)
nest.js学习(1)
nest.js学习(1)
这里就可以扩张用法,比如
nest.js学习(1)
给find方法加上装饰器,
nest.js学习(1)

上一篇:nest.js学习笔记(二)


下一篇:nest.js学习笔记