一、前置知识:reflect-metadata

前边我们做过了nestjs学习日记,其实只是简单说了一些nestjs的用法,并没有深入,这一次,我们从另一个角度来学习一下nestjs。但是在此之前,我们需要快速补充一些前置知识:

阅读更多

Nodejs日志库log4js快速入门

NodeJs项目中,log4js一般会作为日志库的首选,本篇来快速入门一下log4js的一些配置和使用规则。

本文只介绍常用内容,具体细节请查看log4js官方文档

本文基于log4js@6.9.x

演示过程中使用esmodule规范,在package.json中指定typemodule即可在nodejs中使用esmodule规范。

阅读更多

如何调试NodeJs源代码

在开发过程中我们经常会使用debug模式来调试代码,在NodeJs项目开发中,有时候我们想去了解一下其内置库的执行流程,就需要对源代码进行调试。

阅读更多

Nestjs的上下文

Nest提供了一些应用类来简化在不同应用上下文之间编写应用。这些应用可以用于创建通用的守卫,过滤器和拦截器,可以工作在控制器,方法和应用上下文中。

这一章节就说一下我们之前看过的ArgumentsHostExecutionContext两个类.

阅读更多

Nestjs的守卫和拦截器

这一节本来是想说守卫和权限(RBAC)的,但是我们还没做登录和验证(JWT),直接说权限感觉顺序有点错乱了,但是验证这里呢又用到了守卫,所以这一节先说一下守卫和拦截器,他们放到一起因为都用到了同一个上下文ExecutionContext。下一节我们在说一下上下文的相关内容,然后再讲JWT和RBAC吧。

阅读更多

Nestjs的过滤器使用

在前边的中间件章节我们说到过,异常的统一格式处理是通过异常过滤器来实现的,这一节我们就看看异常过滤器的内容。

异常层负责处理整个应用程序中的所有抛出的异常。当捕获到未处理的异常时,最终用户将收到友好的响应。

阅读更多

Nestjs的中间件使用

中间件函数可以访问请求和响应对象,以及应用程序请求响应周期中的 next() 中间件函数。

中间件函数可以执行以下任务:

  • 执行任何代码。
  • 对请求和响应对象进行更改。
  • 结束请求-响应周期。
  • 调用堆栈中的下一个中间件函数。
  • 如果当前的中间件函数没有结束请求-响应周期, 它必须调用 next() 将控制传递给下一个中间件函数。否则, 请求将被挂起。
阅读更多

Nestjs基于Mongodb的简单CRUD搭建

前边我们用mysqltypeorm搭建了一个基本的CRUD结构,考虑到有些朋友是使用mongodb开发的,所以我们本次用mongoose配合nestjs搭建一个基本的CRUD

nestjs的一些基础操作在mysql那一节已经说过了,这里就直接跳过了哦

阅读更多