Nestjs基础

一、创建项目

1、创建

安装 Nest CLI(只需要安装一次)

npm i -g @nestjs/cli

进入要创建项目的目录,使用 Nest CLI 创建项目

nest new 项目名

运行项目

npm run start

开发环境下运行,自动刷新服务

npm run start:dev

 2、目录结构

main.ts

入口文件,可以配置全局的中间件,配置平台(如express)等

app.module.ts

根模块,定义controller、service

xxx.controller.ts

xxx.service.ts

二、控制器(controller)、路由、get、post、方法参数装饰器

1、控制器

nest g controller 要创建的控制器的名字
例如nest g controller article

此时创建的目录及文件如下

并在app.module.ts中进行注册

2、路由

路由和controller的使用都与springboot基本一致

import { Controller, Get } from '@nestjs/common'; 

@Controller('article') 
export class ArticleController { 

    @Get() 
    index(): string { 
        return ‘这是 article 里面的 index’; 
    }

    @Get(‘add’) 
    add(): string { 
        return ‘这是 article 里面的 index’; 
    }
}

3、get请求获取参数

(1)、@Query()

(2)、@Request()

4、post请求获取参数

(1)、@Body()

5、获取动态路由参数

(1)、@Param()

6、只获取参数对象里的某个属性

只获取id属性

7、路由可以模糊匹配

 

三、模板引擎、静态资源

1、配置静态资源目录

将静态资源放在根目录下public中

(1)、正常创建 

main.ts中(以express平台为例)

 (2)、配置虚拟目录

main.ts

2、配置模板引擎(以ejs为例)

安装模板引擎

npm i ejs

根目录下新建文件夹views

配置模板引擎

在views/default/index.ejs

渲染页面 

 3、路由跳转

res.redirect('/user'); //路由跳转

四、Nestjs中的服务(service)

1、创建服务

nest g service 服务名称
例如nest g service news

main.ts中自动引入

2、使用服务

五、上传文件

npm i -D @types/multer

1、上传单个文件

2、多文件上传

3、注意事项

六、中间件

相当于拦截器、过滤器等

1、创建中间件

nest g middleware (目录)中间件名称
例如nest g middleware middleware/init 

2、配置中间件

 在 app.module.ts 中继承 NestModule 然后配置中间件

3、多个中间件

consumer.apply(cors(), helmet(), logger).forRoutes(CatsController); 或直接写路由

4、函数式中间件

5、全局中间件

全局中间件只能使用函数式中间件

七、管道

Nestjs中的管道可以将输入数据转换为所需的输出。此外,它也可以处理验证, 当数据不正确时可能会抛出异常。

1、创建管道

nest g pipe 管道名
例如nest g pipe pipe/news

2、使用管道

八、模块

1、创建模块

nest g module 模块名

2、Nestjs 中的共享模块

实际上,每个模块都是一个共享模块。一旦创建就能被任意模块重复使用。假设我们将在几
个模块之间共享 CatsService 实例。 我们需要把 CatsService 放到 exports 数组中,如下所
示:

九、守卫

守卫是一个使用 @Injectable() 装饰器的类。 守卫应该实现 CanActivate 接口。

在Nextjs中如果我们想做权限判断的话可以在守卫中完成,也可以在中间件中完 成。

1、创建守卫

nest g guard 守卫名称
例如nest g guard guard/auth

 

2、使用守卫

(1)、在控制器里使用守卫

(2)、在方法上使用守卫

 (3)、全局使用守卫

十、Nestjs中使用Mongoose操作Mongodb数据库

1、安装模块

npm i @nestjs/mongoose mongoose

2、配置数据库连接

3、定义schema

4、在需要操作数据库的控制器的module中配置model

5、进行数据查询

新建一个service,在里面进行数据库查询

6、条件查询

7、增删改查

(1)、增

(2)、删

(3)、改

(4)、查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值