乐趣区

关于nestjs:NestJS全栈进阶后台管理系统搭建TypeOrm使用值得学习

前言

技术千千万,学习永一直;尽管是咸鱼,也想努把力!!!
这段时间始终很迷茫,做前端这行也有 6 年了,眼看马上奔三的人了,但仍旧是个菜逼,终日代码写了不少,但总感觉短少些什么,始终都没什么提高;每下定决心筹备积淀下本人,过不了几天人又变懒了;这不新一轮的积淀开始了,本次钻研基于 NodeJS 搭建一套实用的后盾管理系统。
我的项目地址:
github、
gitee

为什么不抉择学习新后端语言

  1. 如果重新学习一门后端语言,学习老本过高,再加上就算初步学会了,没有实战的机会,过不了多久就会忘掉。
  2. 数据库常识还没把握好,这时再学习新语言,精力不够。
  3. 这一点才是最重要的,后面的都是借口,人太笨,理解能力太差了,放心本人学废。

为什么抉择 NestJS

  • 基于 JavaSript,不须要重新学习新语言。
  • Nest (NestJS) 是一个用于构建高效、可扩大的 Node.js 服务器端应用程序的开发框架。它利用 JavaScript 的渐进加强的能力,应用并齐全反对 TypeScript
  • 用的人多,遇到问题好查问。

开始前的筹备

  1. 肯定的 JavaScript、TypeScript 根底
  2. Redis 装置(在本我的项目中,只用来了单点登录)
  3. MySQL 的装置,网上的教程有很多,这里就不多赘述了 (我本地是装置在 docker,方便管理)
  4. Nodejs & npm:配置本地开发环境,装置 Node 后你会发现 npm 也会一起装置下来 (V12+)

ps:mysql 装置好后,手动新建一个名为 ”nest_admin” 的数据库,前面的表创立就交给代码

实现性能

  • [X] JWT 登录注册
  • [X] 单点登录拦挡
  • [X] 权限接口拦挡
  • [X] 分页逻辑封装
  • [X] 日志监控零碎
  • [X] Swagger API 接入、文档生成
  • [] 文件本地上传、云端上传
  • [] Nest 微服务搭建

我的项目构造

├── config                         # 我的项目配置信息 (数据库,redis,全局变量)
├── src
    ├── auth                       # 权限治理模块 (登录认证,接口权限拦挡)
    │   └── dto                    # swagger 文档
    ├── cache                      # Redis 缓存工具包
    ├── core
    │   ├── filter                 # 申请谬误拦挡
    │   │   ├── any-exception
    │   │   └── http-exception
    │   └── interceptor            # 申请胜利拦挡
    │       └── transform
    ├── menu                       # 菜单治理模块
    │   ├── dto
    │   └── entities               # 数据库表实体
    │   └── menu.controller.ts     # 控制器 (接口定义)
    │   └── menu.service.ts        # 接口业务逻辑实现
    ├── middleware                 # 拜访日志
    │   └── logger
    ├── organization               # 组织治理模块
    ├── role                       # 权限治理模块
    ├── user                       # 用户治理模块
    └── utils                      # 工具包 

启动我的项目

ps:启动项目前请确保 mysql,redis 已启动

# clone
$ git clone https://github.com/sunshine824/Nestjs-Cli-Serve.git

# install
$ npm install

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

swagger

启动我的项目之后,swagger 拜访地址:http://localhost:9080/docs

最初

文章临时就写到这,后续会独自将每个模块拆出来探讨,如果本文对您有些许帮忙,麻烦动动您的金手指搓个赞❤️。
本文如果有谬误和不足之处,欢送大家在评论区指出,多多提出您贵重的意见!

最初分享我的项目地址:github、
gitee

退出移动版