Skip to content

生命周期钩子

PtahJs 通过 runtime.lifecycleChain 提供同步生命周期管线,用于在 schema 处理和导出阶段插入自定义逻辑。

基本用法

js
import { useRuntimeApp } from '@ptahjs/ui-vue';
import { LIFECYCLE_TYPE } from '@ptahjs/kernel';

const runtime = useRuntimeApp({ id: 've1' });

runtime.lifecycleChain.addStep(LIFECYCLE_TYPE.GET_PAGE_SCHEMA_DATA, (data) => {
    return { ...data, exportedAt: Date.now() };
});

API

方法说明
addStep(type, fn)注册步骤
removeStep(type, fn)删除指定步骤
clearSteps(type)清空某个类型下的步骤
clearAll()清空全部步骤
process(type, data)执行处理管线

生命周期类型

  • BEFORE_TRANSFORM_DATA
  • GET_PAGE_SCHEMA_DATA
  • RENDERER_MODULE_CONTENT
  • RENDERER_MODULE_ITEM

示例

js
runtime.lifecycleChain.addStep(LIFECYCLE_TYPE.BEFORE_TRANSFORM_DATA, (schema) => {
    return schema;
});

runtime.lifecycleChain.addStep(LIFECYCLE_TYPE.GET_PAGE_SCHEMA_DATA, (schema) => {
    return {
        ...schema,
        version: '2.0',
    };
});