nestjs专题

NestJs bull 用法

bull简介 队列 bull bull用法 https://github.com/OptimalBits/bull Bull is currently in maintenance mode, we are only fixing bugs. For new features check BullMQ, a modern rewritten implementation in Typesc

ts 新版的@nestjs/commo下redis的注册使用

一.我之前在@nestjs/commo 10以下时候注册redis时候,用在最新的"@nestjs/common": "^10.0.0",上面有问题,store添加上后,一直没能够注册成功,不加上我在redis工具上又没有查看到保存的数据,说明数据没有按照规定注册保存到想要的位置。 ①添加依赖,我这里添加的依赖是符合"@nestjs/common": "^10.0.0",的,在我使用的时间下,安

nestjs/schedule nestjs定时任务

使用 import { Injectable, Logger } from '@nestjs/common';import { Cron, Interval, Timeout } from '@nestjs/schedule';@Injectable()export class TasksService {private readonly logger = new Logger(TasksS

TMDOG的微服务之路_07——初入微服务,NestJS微服务快速入门

TMDOG的微服务之路_07——初入微服务,NestJS微服务快速入门 博客地址:TMDOG的博客 在前几篇博客中,我们探讨了如何在 NestJS 中的一些基础功能,并可以使用NestJS实现一个简单的单体架构后端应用。本篇博客,我们将进入微服务架构,以一个简单的NestJS示例快速了解微服务架构。 1. 什么是微服务? 微服务架构是一种软件开发方法,将应用程序划分为多个独立的小服务,每个

3 nestjs 集成 Swagger

安装依赖 pnpm install @nestjs/swagger class-validator 在 main.ts 中定义 SwaggerModule 类 import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';import { SwaggerModule, Docu

使用NestJS构建安全密码重置功能的完整指南:实现短信链接跳转验证功能

引言 实现忘记密码的短信链接验证功能,可以按照以下步骤进行: 用户请求重置密码:用户提供注册手机号码,系统生成一个唯一的重置令牌(token),将令牌和用户信息存储在数据库中,并将包含重置令牌的链接通过短信发送给用户。 用户点击链接:用户点击短信中的链接,服务器验证令牌的有效性。如果令牌有效,用户可以设置新密码。 设置新密码:用户输入新密码,服务器验证并更新用户密码,删除或使令牌失效。

NestJS学习笔记

一、安装NestJS CLI工具 环境检查 //查看node版本node -v//查看npm版本npm -v 安装@nest/cli 使用npm全局安装@nestjs/cli npm i -g @nestjs/cli 查看nest版本 nest -v 结果如图: 创建nest项目 //命令行创建nest项目nest new 【项目名】 VScode扩展下载

nestJs链接redis

给大家推荐一个库,地址:Yarn   service import { Injectable } from '@nestjs/common';import { RedisService as RedisServices, DEFAULT_REDIS_NAMESPACE } from '@liaoliaots/nestjs-redis';import Redis from 'iored

如何为 Nestjs 编写单元测试和 E2E 测试

前言 最近在给一个 nestjs 项目写单元测试(Unit Testing)和 e2e 测试(End-to-End Testing,端到端测试,简称 e2e 测试),这是我第一次给后端项目写测试,发现和之前给前端项目写测试还不太一样,导致在一开始写测试时感觉无从下手。后来在看了一些示例之后才想明白怎么写测试,所以打算写篇文章记录并分享一下,以帮助和我有相同困惑的人。 同时我也写了一个 demo

day12 过一遍Nestjs框架(java转ts全栈/3R教室)

介绍:NestJS是Ts技术栈的后端框架,相当于Java中的springboot。 学习方法:与java技术体系进行对比学习。学习目标:nest相关知识也是挺多,但对比学spring的时候,大部分在项目生产中都是套路化的,大部分也就是写业务逻辑,大部分 项目都很水的,代码生产下改改都行。所以入门阶段了解下重要概念,达到读懂以及编写CURD代码的程度即可。 express:web框架,可用fast

React18+TS+NestJS+GraphQL 全栈开发在线教育平台

React18+TS+NestJS+GraphQL 全栈开发在线教育平台 React18+TypeScript+NestJS+GraphQL:全栈开发在线教育平台的无懈可击组合 随着科技的进步和互联网的普及,在线教育平台逐渐成为人们获取知识的重要途径。为了提供更加优质、高效的教育服务,我们需要选择一套强大而稳定的技术栈。本文将介绍React18、TypeScript、NestJS和Grap

nestjs 全栈进阶--nest生命周期

视频教程 12_nestjs生命周期_哔哩哔哩_bilibili 所有应用程序元素都有一个由 Nest 管理的生命周期。Nest 提供了生命周期钩子,提供了对关键生命时刻的可见性,以及在关键时刻发生时采取行动(在你的module,injectable或者controller中注册代码)的能力。 nest new lifecycle -p pnpm pnpm start:dev 下图描述

nestjs 全栈进阶--module

视频教程 10_模块@Module1_哔哩哔哩_bilibili 1. 模块@Module 在 Nest.js 中,Module 是框架的核心概念之一,用于组织和管理应用程序的不同部分,包括服务、控制器、中间件以及其他模块的导入。每个 Nest.js 应用程序至少有一个根模块(通常命名为 AppModule),并且可以根据需要创建更多的模块以实现更好的代码组织和模块化。 模块的主要功能和用

比nestjs更优雅的ts控制反转策略-依赖查找

一、Cabloy5.0内测预告 Cabloy5.0采用TS对整个全栈框架进行了脱胎换骨般的大重构,并且提供了更加优雅的ts控制反转策略,让我们的业务开发更加快捷顺畅 1. 新旧技术栈对比: 后端前端旧版js、egg2.0、mysqljs、vue2、framework7新版ts、egg3.0、多数据库兼容(支持mysql、postgresql)ts、vue3、quasar 2. 框架开发两大

nestjs 全栈进阶--控制器和参数获取

视频教程 06_nest控制器和参数获取1_哔哩哔哩_bilibili nest new argument -p pnpm nest g resource person pnpm start:dev 测试下:http://localhost:3000/person/1 在浏览器中看到图中的内容就是成功了 1. 路由 在Nest.js中,路由是由@Controlle

一文带你搞定Nestjs项目中的配置文件(四种方案)!

一文带你搞定Nestjs项目中的配置文件(四种方案)! (妈妈再也不用担心我的学习了!认准汪枫,用最详细的步骤和保姆式教学为你答疑解惑) 前言: 应用程序通常在不同的环境中运行,根据环境的不同,应该使用不同的配置设置。例如,通常本地环境依赖于特定的数据库凭据,仅对本地 DB 实例有效,生产环境将使用一组单独的 DB 凭据。 由于配置变量会更改,所以最佳实践是将配置变量存储在环境中。 应用

day2 nestjs应用初始化及调试

Java转Ts全栈的学习记录 基础知识 Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用的框架。(对标springboot)ES ECMAScript 规范,约束js用的语法规范吧,比如const let这类语法就可以用了Eslint与Prettier美化代码格式用的,先pnpm导入之后就配置到项目里问题:.eslintignore格式检查爆红:vsc

day2 nestjs应用初始化及调试

Java转Ts全栈的学习记录 基础知识 Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用的框架。(对标springboot)ES ECMAScript 规范,约束js用的语法规范吧,比如const let这类语法就可以用了Eslint与Prettier美化代码格式用的,先pnpm导入之后就配置到项目里问题:.eslintignore格式检查爆红:vsc

【NestJS 编程艺术】1. NestJS设计模式深度解析:构建高效、可维护的服务端应用

在当今快速发展的软件开发领域,Node.js凭借其轻量级和高性能的特点,已经成为了构建服务端应用的首选技术之一。然而,随着应用规模的扩大,传统的Node.js框架如Express和Koa可能在架构设计和代码组织上显得力不从心。这时,NestJS以其企业级的架构能力和对TypeScript的完美支持,成为了开发者的新宠。 1. NestJS简介 NestJS是一个基于Node.js的平台,它提供

Nestjs与Vue实现多人聊天[简易版]

本项目是一个小demo,帮助各位理清一点开发思路,作为一个小参考,虽然技术栈是nodejs。但是其他语言也是相通的。 准备环境: Nodejs version >=18.13.0Vue3Nestjssoket.io 一、初始化 打开一个路径启动cmd窗口,初始化前后端项目,并安装依赖。 # 后端nest new app# 安装完依赖后再安装这个@nestjs/websockets包

【Nestjs实操】环境变量和全局配置

一、环境变量 1、使用dotenv 安装pnpm add dotenv。 根目录下创建.env文件,内容如下: NODE_ENV=development 使用 import {config} from "dotenv";const path = require('path');config({path:path.join(__dirname,'../.env')});con

小满nestjs(第十一章 nestjs 模块)

模块@Module 每个 Nest 应用程序至少有一个模块,即根模块。根模块是 Nest 开始安排应用程序树的地方。事实上,根模块可能是应用程序中唯一的模块,特别是当应用程序很小时,但是对于大型程序来说这是没有意义的。在大多数情况下,您将拥有多个模块,每个模块都有一组紧密相关的功能 1.基本用法 当我们使用nest g res user 创建一个CURD 模板的时候 nestjs 会自动帮我

Nestjs-JWT

JSON Web Token 使用对称或非对称算法对数据进行加密,生成token返回客户端,客户端请求时将token发送给服务端,服务端对token进行校验解密。构成:headers+payload+signtuare 例如如下token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InpodWFuZyIsInBhc3N3b3JkI

Nestjs框架: 可集成在Nestjs上的日志模块pino和winston的使用

日志模块 pino npmjs.com/package/pino getpino.io 安装:$ npm i nestjs-pino 注册: import { LoggerModule, Logger } from 'nestjs-pino'@Module({controllers: [AppController],imports: [LoggerModule.forRoot()] //

Nestjs框架: 多环境参数配置

多环境配置方案比较:dotenv vs config 1 )dotenv库 npmjs.com/package/dotenv应用广泛,前后端, 解析.env文件,挂载到 process.env 属性上去安装:$ npm i -S dotenv按照官方示例配置在.env文件上配置,对嵌套的数据不太友好,需要自行处理 2 )config库 npmjs.com/package/config

NestJS入门9:管道入门

前文参考 NestJS入门1:创建项目 NestJS入门2:创建模块 NestJS入门3:不同请求方式前后端写法 NestJS入门4:MySQL typeorm 增删改查 NestJS入门5:加入Swagger NestJS入门6:日志中间件 NestJS入门7:增加异常过滤器 NestJS入门8:拦截器 本文代码基于上一篇文章《NestJS入门8:拦截器》 本文仅对Parse