nestJs notes

84 阅读1分钟

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