跳到主要内容

nestjs学习

1.项目初始化

安装脚手架和新建项目

npm i -g @nestjs/cli
nest new project-name
npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata

安装swagger

npm i @nestjs/swagger

设置swagger在main.js中

const swaggerOptions = new DocumentBuilder()
.setTitle('nestjs study doc')
.setDescription('我的学习nestjs的swagger描述')
.setVersion('1.0')
.addBearerAuth()
.build();
const doucument = SwaggerModule.createDocument(app, swaggerOptions);
SwaggerModule.setup('doc', app, doucument);

在控制器中使用swagger

    @Get(':id')
@ApiParam({ name: 'id', required: true })
@ApiResponse({
status: 200,
description: 'get ...',
})
findOne(@Param() { id }): string {
return 'this is action findall' + id;
}

2.中间件的使用

​ 定义中间件

import { Injectable, NestMiddleware } from '@nestjs/common';
import { NextFunction, Request, Response } from 'express';
@Injectable()
export class LoggerMiddleware implements NestMiddleware {
use(req: Request, res: Response, next: NextFunction) {
const { method, path } = req;
console.log(`${method} and ${path}`);
next();
}
}

​ 使用中间件

import { MiddlewareConsumer, Module, RequestMethod } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { HelloController } from './hello/hello.controller';
import { CoffeesModule } from './coffees/coffees.module';
import { CatsModule } from './cats/cats.module';
import { LoggerMiddleware } from './common/middleware/logger.middleware';

@Module({
imports: [CoffeesModule, CatsModule],
controllers: [AppController, HelloController],
providers: [AppService],
})
export class AppModule {
configure(consumer: MiddlewareConsumer) {
consumer
.apply(LoggerMiddleware)
.exclude({ path: 'hello', method: RequestMethod.GET }) //排除不用中间件的controller
.forRoutes('*'); //监听所有的路径
}
}

3.JWT使用

使用中间件

import { MiddlewareConsumer, Module, RequestMethod } from '@nestjs/common';
import { AppController } from './app.controller';


34.JWT使用

安装npm-check-updates组件

npm install -g npm-check-updates
ncu -u

实际运行

npm install -g npm-check-updates

added 263 packages, and audited 264 packages in 20s

29 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities

升级vue

一般就是升级 vue 和 vue-template-compiler,两者的版本需要同步。 npm update vue -S 或者 yarn add vue -S

npm update vue-template-compiler -D 或者 yarn add vue-template-compiler -D

npm升级到最新版本

#查看npm当前版本
npm -v

#如果不是最新版本,运行指令

npm install -g npm

#如果想更新到指定版本,运行指令
npm -g install npm@6.8.0