nocobase/docs/zh-CN/api/server/plugin.md
ChengLei Shao 3aada8fe07
docs: update api docs (#973)
* docs: application

* docs: application lifecycle

* docs: database

* docs: update

* docs: repository

* docs: repository

* docs: plugin

* docs: resourcer

* docs: database

* docs: acl

* docs: actions

* docs: repository

* docs: api

* docs: api

* docs: api
2022-10-31 20:10:52 +08:00

1.0 KiB

Plugin

概览

Nocobase 中的插件为 Class 的形式。如需自定义插件,需要继承 Plugin 类。

import { Plugin } from '@nocobase/server';

class MyPlugin extends Plugin {
  // ...
}

app.plugin(MyPlugin, { name: 'my-plugin' });

插件生命周期

每个插件都包含生命周期方法,你可以重写这些方法,以便于在运行过程中特定的阶段执行这些方法。 生命周期方法将由 Application 在特定阶段调用,可参考 Application生命周期

beforeLoad()

插件加载前,如事件或类注册,在此可访问核心接口,其他插件此阶段不可用。

load()

加载插件,配置之类。在 load 中可调用其他插件实例,而在 beforeLoad 中是不行的。

install()

插件安装逻辑,如初始化数据

afterAdd()

插件 add/addStatic 之后

afterEnable()

插件激活之后的逻辑

afterDisable()

插件禁用之后的逻辑

remove()

用于实现插件删除逻辑