nestJs支持http、graphQL、微服务、websocket。
如何使用stage3装饰器
在 tsconfig.json 文件中 设置:
- Typescript5.x 就是 stage3的新写法(兼容stage2)。
- "experimentalDecorators": false, "emitDecoratorMetadata": false
intellisense
- 指的是智能代码补全的功能
- vscode 可进行错误检查
tsServer(语法、类型检查)
- vscode内部使用 tsServer 服务器进行代码检查
- tsServer只是一个服务,内部会调用SDK进行检查
- 该SDK版本是可配置的
Providers(重新理解)
IOC(Inversion of Control)依赖注入
- 模块:包含控制器(controllers)、提供者(Providers)、其他模块。模块可以相互依赖和嵌套。nestJs的基本构建块是模块。
- 提供者(Providers):Providers是被nestJs IOC容器管理的服务类。Providers可以是服务(Service)、仓库(Repository)、工厂(Factory)等。
- 注入(Injection):注入是将依赖(如服务、组件)自动传递给需要它们的类的过程。nestJs使用构造函数注入(Constructor Injection)来完成这过程。
高阶用法:
- 自定义Providers
- FactoryProviders
- 异步Providers
- 条件Providers