![](https://img-blog.csdnimg.cn/20210118145952275.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
nestjs
nestjs系列的基础知识和实战演练
人生一串儿
全栈开发工程师。可独立开发后台管理系统、pc、移动端商城、APP、熟练使用nodejs连接数据库开发接口;主要技术栈react,nodejs,angular,vue,nextjs;微信、支付宝小程序,taro;运维:了解linux。熟练使用nginx;
展开
-
Nestjs使用Redis的最佳实践
nestjs使用redis的最佳实践, redis+jwt试下服务端删除token功能原创 2024-07-25 11:32:18 · 650 阅读 · 1 评论 -
1.项目架构图
文章目录一、项目架构图二、配置静态web目录、模板引擎、cookie、session1.安装模块2.根目录新建public、views文件夹3.配置静态web、ejs、cookie、session三、创建项目目录以及生成模块控制器四、配置模板引擎一、项目架构图二、配置静态web目录、模板引擎、cookie、session1.安装模块cnpm i cookie-parser express-session ejs --save2.根目录新建public、views文件夹3.配置静态web、ej原创 2021-04-09 11:18:01 · 4148 阅读 · 0 评论 -
3.配置mongoose,实现登录和退登
文章目录一、nest配置mongoose1.安装mongoose2.配置数据库连接地址3.配置schema4.在控制器对应的module中定义modal5.创建admin service6.在控制器里实验是否能获取到数据库的数据7.在login.ejs中使用doLogin二、md5的使用1.安装md52.在service中封装md53.在controller中使用md5三、详细的登录功能封装提示成功,失败的service四、退出登录路由使用五、公共的成功失败页面成功页面失败页面一、nest配置mongoo原创 2021-04-09 11:20:49 · 695 阅读 · 0 评论 -
5.2 用户的增删改查
文章目录一、重点二、前后台联调,管理员表的增删改查1、增加管理员1.1 admin.controller1.2 前端页面2、展示管理员列表(表关联)2.1 controller2.2 前端页面2.3 重点注意事项(坑)3、管理员的修改3.1 controller3.2 前端页面4、删除管理员4.1 controller4.2 前端页面三、完整版1.完整版的module2. 完整版的schema3.完整版的service4.完整版的interface5.完整版的controller一、重点通过管理员的增删原创 2021-04-09 11:23:16 · 1104 阅读 · 0 评论 -
7.轮播图的增删改查
文章目录一、轮播图的增删改查1.增加1.controller2.页面2.查询展示1.controller2.页面3.修改1.controller2.页面4.删除1.controller2.页面二、完整版1.完整版的module2. 完整版的schema3.完整版的service4.完整版的interface5.完整版的controllerfocus.schema => focus.service => interface一、轮播图的增删改查1.增加1.controller @Get(原创 2021-04-20 15:43:23 · 1277 阅读 · 0 评论 -
4.配置模板全局变量,配置可修改的后台地址,nestjs扩展模板方法
@TOC[]一、配置模板全局变量1.重点// 1.设置全局变量res.locals.userinfo = userinfo;// 2.在任何一个页面中使用<a>欢迎您 <%=userinfo.username%></a>2.完整案例2.1) 在中间件中配置登录者的全局变量@filename(adminauth.middleware)import { Injectable, NestMiddleware } from '@nestjs/common原创 2021-04-09 11:21:23 · 823 阅读 · 0 评论 -
9.2商品类型属性goods_type_attribute的增删改查
文章目录一、重点二、增删改查1. 增加1.1 controller1.2 前端页面2.展示2.1 controller2.2 前端页面3.修改3.1 controller3.2 前端页面4.删除4.1 controller4.2 前端页面三、完整版1.完整版的module2. 完整版的schema3.完整版的service4.完整版的interface5.完整版的controller一、重点简单,无难点二、增删改查1. 增加1.1 controller @Get('add') @Re原创 2021-04-20 15:45:36 · 568 阅读 · 0 评论 -
2.生成验证码,配置中间件,权限判断
文章目录一、生成验证码安装在 nestjs 中使用:1.tools.services.ts 中代码如下2.控制器中使用3.在前端页面中使用二、权限判断1.中间件2.使用中间件来检测权限一、生成验证码生成验证码用到的模块:https://www.npmjs.com/package/svg-captcha安装npm i svg-captcha --save在 express 中使用:var svgCaptcha = require('svg-captcha'); app.get('/captcha原创 2021-04-09 11:19:16 · 487 阅读 · 0 评论 -
5.1 RBAC权限-角色的增删改查
文章目录RBAC角色表(role)的增删改查RBAC实现流程其他1.时间戳格式化(silly-datetime)RBACRBAC 是基于角色的权限访问控制(Role-Based Access Control)。在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。角色表(role)的增删改查参考RBAC实现流程1.角色的增删改查2.用户的增删改查,增改用户时需要选择角色3.权限的增删改查4.角色授权,角色权限关联5.判断登录用户是否有权限访问菜单6.根据原创 2021-04-09 11:22:45 · 613 阅读 · 0 评论 -
9.1商品类型goods_type的增删改查
文章目录一、重点二、增删改查1. 增加1.1 controller1.2 前端页面2.展示2.1 controller2.2 前端页面3.修改3.1 controller3.2 前端页面4.删除4.1 controller4.2 前端页面三、完整版1.完整版的module2. 完整版的schema3.完整版的service4.完整版的interface5.完整版的controller一、重点简单,无难点二、增删改查1. 增加1.1 controller @Get('add') @Re原创 2021-04-20 15:44:53 · 1341 阅读 · 0 评论 -
5.3 权限的增删改查
文章目录一、重点二、权限的增删改查1. 增加权限1.1 controller1.2 前端页面2.展示权限列表2.1 controller2.2 前端页面3.修改权限3.1 controller3.2 前端页面4.删除权限4.1 controller4.2 前端页面三、完整版1.完整版的module2. 完整版的schema3.完整版的service4.完整版的interface5.完整版的controller文章目录一、重点二、权限的增删改查1. 增加权限1.1 controller1.2 前端页面2.展原创 2021-04-09 11:51:23 · 528 阅读 · 0 评论 -
8.ajax 修改轮播图的状态和数量
ajax 修改轮播图的状态和数量文章目录一、思路:二、ajax修改轮播图状态(普通方法)1.后台出接口2.前端1.js(重点)2.html三、ajax修改轮播图状态(封装controllr)1.main.controller2.前端1.html2.js四、ajax异步修改轮播图的排序(封装版)1. 后台:main.controller中封装接口2.前端1.html2.js(重点)一、思路:1.控制器里写接口 2.base.js中写事件 2.前端页面写绑定事件二、ajax修改轮播图状态(普通方法)1原创 2021-04-20 15:44:23 · 147 阅读 · 0 评论 -
6.封装上传图片方法,按日期存储图片
文章目录一、重要知识 & 坑1. mkdir 创建文件夹的插件2.前端页面需要加enctype否则上传失败3.注意配图片的路径二、封装上传文件方法 & 使用流程1. controller-使用2. service - 封装上传文件的方法3. Config 全局配置存放图片的文件夹名称4. 前端页面使用一、重要知识 & 坑1. mkdir 创建文件夹的插件安装npm i mkdirp --save引入 import * as mkdirp from 'mkdirp';原创 2021-04-20 15:42:55 · 217 阅读 · 0 评论 -
nodejs做中间层请求后台接口-简单版
nodejs做中间层请求后台接口-简单版需求思路准备工作实现流程方案前端nodejs效果1.postman浏览器总结需求前端使用nodejs做中间层来中转访问到后台先放一个postman的成功效果1.postman思路准备工作前端:reactnode: nest后台:网上免费接口实现流程react 访问node http://localhost:3010/api/boss, 注意详细的url在headers中node 批量中转访问后台,具体的url放在headers中node原创 2021-10-21 14:54:20 · 2509 阅读 · 0 评论 -
13.nest中使用typeorm 从入门到进阶
文章目录一、安装二、简单例子-连接&查询1.配置数据库连接地址(app.module )3.配置实体entity4.在控制器对应的module中配置model5.在服务里面使用@InjectRepository 获取数据库Model 实现操作数据库6.在控制器对应的module中引入service7.在控制器中使用service8.运行&查看结果8.1 运行8.2 在浏览器中查看三、复杂例子-增删改查1.注2.新增接口interface3.服务(重点-增删改查)4.控制器:使用服务5.运行&原创 2021-03-09 19:49:15 · 3060 阅读 · 0 评论 -
12.nest中使用mongoose实现增删改查,以及如何避坑
文章目录一、安装mongoose二、配置数据库连接地址**三、配置** Schema四、**在控制器对应的** **Module** **中配置** Model五、**在服务里面使用** **InjectModel** **获取数据库** **Model** **实现** 操作数据库在服务中获取服务器数据在controll中使用服务六、查看结果七、进阶:增删改查示例需求:对user表做增删改查user.schemaadmin.module.tsuser.service.tsuser.controller运行原创 2021-03-08 17:14:32 · 1840 阅读 · 1 评论 -
11.nestjs守卫的基础知识和实战
守卫一、创建守卫二、守卫的简单使用1.直接加在控制器上,这个控制器下所有的路由都要走守卫2.加在具体的方法上三、全局守卫四、全局守卫结合cookie和session做接口校验实战思路:1.main.ts中引入cookie和session,配置全局守卫2.守卫auth.guard.ts3.login.controller.ts4.浏览器校验一、创建守卫nest g guard guard/authAuth.guard.tsimport { CanActivate, ExecutionContext,原创 2021-01-22 15:09:32 · 1059 阅读 · 0 评论 -
10.nestjs中模块的基础和进阶
nestjs中模块的基础和进阶创建模块组织架构给子模块期别名公共服务思路1.创建2.使用2.1 先在admin.module中引入2.2 在news.controller中使用2.3 验证共享模块-进阶1.在module下创建share模块和base方法1.1 share.module1.2 share/base/base.service.ts2.使用共享模块2.1 在admin.module.ts中引入2.2 在admin模块的order.controller中使用创建模块nest g module原创 2021-01-22 10:10:41 · 597 阅读 · 0 评论 -
9.nest管道教程
管道创建管道使用管道管道结合joi库实现数据验证安装创建管道在controller中使用管道创建管道nest g pipe pipe/newsnews.pipeimport { ArgumentMetadata, Injectable, PipeTransform } from '@nestjs/common';@Injectable()export class NewsPipe implements PipeTransform { transform(value: any, metada原创 2021-01-21 17:28:52 · 298 阅读 · 0 评论 -
8.nestjs中间件教程
nestjs中间件教程中间件1.创建中间件2.配置中间件3.多个中间件4.函数式中间件5.全局中间件创建使用中间件1.创建中间件命令行创建中间件,然后自动生成nest g middleware middleware/initInit.middleware.tsimport { Injectable, NestMiddleware } from '@nestjs/common';@Injectable()export class InitMiddleware implements NestM原创 2021-01-21 17:27:38 · 471 阅读 · 0 评论 -
7.nestjs文件上传
nestjs文件上传文件上传单个文件上传多文件上传文件上传单个文件上传// 1.依赖引入 UseInterceptors, UploadedFile, FileInterceptorimport { Controller, Get, Post, Render, Body, UseInterceptors, UploadedFile } from '@nestjs/common';import { FileInterceptor } from '@nestjs/platform-express';原创 2021-01-19 17:46:21 · 2087 阅读 · 0 评论 -
6.nestjs中使用session
nestjs中使用express-session安装和配置安装引入使用安装和配置安装npm i express-session --save引入在main.ts中引入和配置// ...// 1.引入sessionimport * as session from 'express-session';async function bootstrap() { //... // 2.配置session中间件 app.use(session( { secret原创 2021-01-18 15:09:51 · 1388 阅读 · 0 评论 -
5.nestjs cookie的配置和使用
nestjs cookie的配置和使用安装和配置1. 安装2. 配置3.设置cookie4.获取cookiescookie加密安装和配置1. 安装npm install cookie-parser --save2. 配置2.1 main.ts 中引入 cookie-parserimport * as cookieParser from 'cookie-parser' 2.2. 在 main.ts 配置中间件app.use(cookieParser()); 3.设置cook原创 2021-01-18 15:04:53 · 1807 阅读 · 0 评论 -
4.nestjs服务的创建及使用
服务的创建及使用创建服务servicesnews.controller创建服务nest g service news在controller中使用service示例servicesimport { Injectable } from '@nestjs/common';@Injectable()export class NewsService { findAll() { return [ {"title":"新闻111"},原创 2021-01-18 14:30:02 · 428 阅读 · 0 评论 -
3.nestjs设置模板引擎
设置模板引擎设置模板引擎模板引擎+post数据提交,路由跳转设置模板引擎1.安装对应的模板引擎cnpm i ejs --save2、配置模板引擎app.setBaseViewsDir('views');app.setViewEngine('ejs');完整示例:Main.ts中配置如下import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';import { join } f原创 2021-01-14 16:04:45 · 1844 阅读 · 0 评论 -
2.nestjs配置静态资源
这里写目录标题设置静态资源设置静态文件设置静态资源设置静态文件根目录下创建public文件夹,放入一张图片在main.ts引入http平台import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';// 1.引入NestExpressApplicationimport { NestExpressApplication } from '@nestjs/platform-expre原创 2021-01-14 11:25:24 · 3286 阅读 · 0 评论 -
1.控制器,路由,get,post
这里写目录标题1.控制器2.路由,获取路由传参1)获取get传值2)获取post传值3)获取动态路由其他1.控制器创建控制器nest g controller news2.路由,获取路由传参1)获取get传值import { Controller, Get, Query, Request } from '@nestjs/common';@Controller('user')export class UserController { // 1.通过@Query装饰器获取get传值原创 2021-01-14 11:20:04 · 158 阅读 · 0 评论