nestJs学习

124 阅读1分钟

nestJs学习 image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

一.快速安装

cnpm i -g @nestjs/cli //安装镜像
nest new nestjs-demo  //创建底座
nest --help //帮助文档
nest g module user  //创建文件
nest g controller user --no-spec //创建文件
nest g service user --no-spec  //创建文件

https://doc.toimc.com/web/#/377/2620
资源合集

官⽅示例:https://github.com/nestjs/nest/tree/master/sample


Awesomehttps://github.com/nestjs/awesome-nestjs

nestjs中⽂⽹:https://docs.nestjs.cn/9/introduction
typeOrm⽹:https://typeorm.bootcss.com/using-cli

语义化版本号:https://semver.org/lang/zh-CN/

前端进阶文档:https://front-end.toimc.com/basic/ts

image.png

二.Ts学习

image.png

image.png

image.png

image.png

image.png

image.png

image.png

三.技术栈分析

image.png

image.png

image.png

pnpm i --save @nestjs/config //安装config

//创建.env
DB=mysql
DB_HOST=127.0.0.1

//注入代码到 app.module.ts
import { Module } from '@nestjs/common';
// import { AppController } from './app.controller';
// import { AppService } from './app.service';
import { UserModule } from './user/user.module';
import { ConfigModule } from '@nestjs/config';
@Module({
  imports: [ConfigModule.forRoot({
    isGlobal: true
  }), UserModule],
  controllers: [],
  providers: [],
  // controllers: [AppController],
  // providers: [AppService],
})
export class AppModule { }

//注入代码到 user.controller.ts
import { Controller, Get, Post } from '@nestjs/common';
import { UserService } from './user.service';
import { ConfigService } from '@nestjs/config';
@Controller('user')
export class UserController {
    constructor(
        private userService: UserService,
        private configService: ConfigService
    ) { }

    @Get()
    getUsers(): any {
        const db = this.configService.get('DB')
        console.log(db,"db");
        
        return this.userService.getUsers();
    }

    @Post()
    addUser(): any {
        return this.userService.addUser();
    }
}

image.png

image.png

三.数据库学习使用

pnpm i --save @nestjs/typeorm typeorm mysql2  //安装


pnpm i typeorm-model-generator //旧项目已有数据库 第三方库生成器 
https://www.npmjs.com/package/typeorm-model-generator

Query Builder //进行联合查询

image.png image.png

四.日志学习使用

image.png

五.argon2 数据库密码加密

import * as argon2 from 'argon2';
userTmp.password = await argon2.hash(userTmp.password) //对用户加密使用argon2加密
const isPasswordValid = await argon2.verify(user.password, password);//对用户加密使用解密