智慧团建官方网站登录入口,上海营销活动策划公司,商业网站开发文档,图书拍卖网站开发过程的问题一、创建项目
1、创建
安装 Nest CLI#xff08;只需要安装一次#xff09;
npm i -g nestjs/cli
进入要创建项目的目录#xff0c;使用 Nest CLI 创建项目
nest new 项目名
运行项目
npm run start
开发环境下运行#xff0c;自动刷新服务
npm run start:dev 2、…一、创建项目
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)、查