文档
基础功能
生命周期

生命周期

yunfly 提供了4个生命周期钩子,便于开发者可以在 应用开始前配置加载完后服务初始化后应用启动后 这些关键生命时刻进行操作。

生命周期事件说明

字段类型说明
beforeStartfunctionBFF应用开始前执行的内容,此处可做一些日志打印标识
configDidReadyfunctionConfig配置文件加载完成,此处可以对Config配置进行更改
appDidReadyfunction单线程:此处表示初始化koa服务完成。 多线程:此处表示alone进程与所有worker进程初始化koa服务完成。此处可以做一些初始化操作,例如redis初始化。
afterStartfunctionBFF应用启动完毕之后执行,此处可做一些日志打印标识

使用

根目录 src 下新建 app.ts 文件,文件内容如下:

src/app.ts
import { Config } from '@yunflyjs/yunfly'
 
/**
 * BFF 生命周期
 *
 * @export
 * @class AppLifeHook
 */
export default class AppLifeHook {
  constructor() { }
 
  // app 启动之前执行 
  beforeStart() {
    console.log('---------beforeStart----------')
  }
 
  // config 配置加载完成之后执行
  configDidReady(config: Config) {
    // config.name = 'zane'
  }
 
  // 多线程时:当 alone 进程和 worker 进程执行完成之后执行
  // 多线程时,此处的代码将会在 worker 中执行
  appDidReady(config: Config, app: any) {
 
  }
 
  // app 启动之后执行
  afterStart(config: Config) {
    console.log('---------afterStart----------')
  }
 
}

加载插件时,也可以指定在不同生命周期进行加载。详情请看lifeHook参数