1.概述
Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架,结合了 OOP(面向对象编程)的开发理念,内置并完全支持 TypeScript。nestjs 还是一个spring MVC 的风格 其中有依赖注入 IOC 控制反转,借鉴了Angualr的底层代码,底层内置框架Express.js(默认express)
2.创建项目
// 全局安装nest
npm i -g @nestjs/cli
// 通过cli创建nest项目
nest new project-name
项目创建完成,具体文件如下
首先来看package.json文件
然后转到src目录下,主要是看这几个文件
main.ts 导入主模块创建nest实例,监听端口为3000,调用这个启动函数。
app.service.ts 服务处理文件,数据库增删改查和业务逻辑的处理,当然后续相同的逻辑代码走封装复用
app.controller.ts 分发路由文件,用来接口定义调用service的处理函数
app.module.ts 模块管理器,后续业务的繁杂会有许多子模块,方便后续拓展维护
app.controller.spec.ts 测试文件,后续建子模块会有很多带有.spec.ts的文件,开发中简洁文件可以删掉,也可以根据自己进行单元测试,问题不大。
注意:上述文件中出现了很多@装饰器不要慌,后续会讲装饰器也会用到各种各样的装饰器。 这是项目主入口和主模块的介绍,后续随着业务需求会有许多子模块,为了规范开发,后续的业务逻辑和路由在各自的模块中完成,利用模块引入调用来实现功能,就是IOC(控制反转)和DI(依赖注入)的设计模式。
3.nest指令
// 查看nest指令
nest -help
创建一个user模块
nest g res user
运用命令直接生成crud模版,后续会讲到dto和entities文件的用处