NestJs 执行顺序

166 阅读1分钟

应用启动顺序

NestJs 是从根模块开始加载所有依赖模块和服务。

  1. 加载 AppModule
  2. 加载导入的子模块
  3. 加载模块中的服务、控制器和提供者。

模块生命周期

  • onModuleInit(Module) 在模块所有提供者被初始化后调用。
  • onApplicationBootstrap(Module) 在应用程序完全启动后调用。

服务生命周期

  • constructor(Service) 服务实例化时调用。
  • onModuleInit(Service) 服务实例化完成后调用。

全局生命周期

  • beforeApplicationShutdown 应用程序关闭之前调用。
  • onApplicationShutdown 应用程序完全关闭后调用。

请求处理执行顺序

  1. 中间件(Middleware)
  2. 守卫(Guard)
  3. 拦截器(Intercaptor)
  4. 管道(Pipe)
  5. 控制器(Controller)