nestjs
文章平均质量分 90
你的微笑暖暖的
这个作者很懒,什么都没留下…
展开
-
nestjs 全栈进阶--Module和Provider的循环依赖
因为 Nest 创建 Module 的时候会递归创建它的依赖,而它的依赖又依赖了这个 Module,所以没法创建成功,拿到的就是 undefined。分别创建 ccc 和 ddd 两个 service,--no-spec 是不生成测试文件,--flat 是平铺。好了,我们看了特殊会出错的情况,我们在来验证下,正常的依赖情况,我们在b的service中再写个handler。保存后,之前的报错就没了,然后我们去AppController写个方法使用下。我们的程序并不会报错,浏览器也正常输出。原创 2024-05-09 15:14:10 · 813 阅读 · 0 评论 -
nestjs 全栈进阶--provider
在 Nest.js 框架中,Providers 是一个核心概念,用于定义和管理应用中的服务、数据库连接、中间件、门面(facade)、仓库(repository)、工厂(factory)、帮助器(helper)等可注入的依赖。Providers 是 Nest.js 实现依赖注入(Dependency Injection, DI)体系的基础单元,它们可以被其他组件通过构造函数、属性注入等方式依赖,并由 Nest.js 的依赖注入容器自动管理和实例化。第一种用法就是一个语法糖其实他的完整写法是这样的。原创 2024-04-04 15:07:54 · 1192 阅读 · 0 评论 -
nestjs 全栈进阶-装饰器概念
装饰器是一种特殊类型的声明,可以被附加到类声明、方法、访问器、属性或参数上。装饰器使用 @expression 这样的语法,其中 expression 指向一个生成装饰器函数的表达式。装饰器函数会在运行时被调用,传入被装饰的声明作为参数,并有机会修改或增强其行为console.log('先打印');class Xt {@logconsole.log(`${prefix}先打印`);原创 2024-04-02 09:56:05 · 427 阅读 · 0 评论 -
nestjs 全栈进阶--控制器和参数获取
Nest,使用 @Body 装饰器,Nest 会解析请求体,然后注入到 dto 中(dto 是 data transfer object,就是用于封装传输的数据的对象)@Controller('person') 的路由和 @Get(':id') 的路由会拼到一起,也就是只有 /person/xxx 的 get 请求才会走到这个方法。注意,这个 find 的路由要放到 :id 的路由前面,因为 Nest 是从上往下匹配的,如果放在后面,那就匹配到 :id 的路由了。后面的用 & 分隔的字符串传递数据。原创 2024-04-03 11:13:43 · 702 阅读 · 0 评论 -
nestjs 全栈进阶--module
在 Nest.js 中,Module 是框架的核心概念之一,用于组织和管理应用程序的不同部分,包括服务、控制器、中间件以及其他模块的导入。每个 Nest.js 应用程序至少有一个根模块(通常命名为 AppModule),并且可以根据需要创建更多的模块以实现更好的代码组织和模块化。原创 2024-04-07 11:21:39 · 1071 阅读 · 0 评论 -
IOC与DI
当执行start的时候 main.ts的内容就会被执行,那么 nest 就会从 AppModule 开始解析 class 上通过装饰器声明的依赖信息,自动创建和组装对象。我们可以看到在app.service,他声明了 @Injectable,代表这个 class 可注入,那么 nest 就会把它的对象放到 IOC 容器里。在之前我们说到过,app.module中是不是已经引用了user.module了,那么他现在他就可以注入exports 的 UserService 了。中代码的实现是需要依赖。原创 2024-04-01 16:08:48 · 737 阅读 · 0 评论 -
Nest cli
项目开发离不开工程化的部分,比如创建项目、编译构建、开发时 watch 文件变动自动构建等。Nest它在 @nestjs/cli 这个包里提供了 nest 命令。原创 2024-04-01 10:26:58 · 898 阅读 · 0 评论