nestJs学习
一.快速安装
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
Awesome:https://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
二.Ts学习
三.技术栈分析
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();
}
}
三.数据库学习使用
pnpm i --save @nestjs/typeorm typeorm mysql2 //安装
pnpm i typeorm-model-generator //旧项目已有数据库 第三方库生成器
https://www.npmjs.com/package/typeorm-model-generator
Query Builder //进行联合查询
四.日志学习使用
五.argon2 数据库密码加密
import * as argon2 from 'argon2';
userTmp.password = await argon2.hash(userTmp.password) //对用户加密使用argon2加密
const isPasswordValid = await argon2.verify(user.password, password);//对用户加密使用解密