Skip to content

ECS Framework API v2.2.13


ECS Framework API / PluginManager

Class: PluginManager

Defined in: packages/core/src/Core/PluginManager.ts:30

插件管理器

负责插件的注册、安装、卸载和生命周期管理。 支持依赖检查和异步加载。

Example

typescript
const core = Core.create();
const pluginManager = core.getService(PluginManager);

// 注册插件
await pluginManager.install(new MyPlugin());

// 查询插件
const plugin = pluginManager.getPlugin('my-plugin');

// 卸载插件
await pluginManager.uninstall('my-plugin');

Implements

Constructors

Constructor

new PluginManager(): PluginManager

Returns

PluginManager

Methods

initialize()

initialize(core, services): void

Defined in: packages/core/src/Core/PluginManager.ts:57

初始化插件管理器

Parameters

core

Core

Core实例

services

ServiceContainer

服务容器

Returns

void


install()

install(plugin): Promise<void>

Defined in: packages/core/src/Core/PluginManager.ts:71

安装插件

会自动检查依赖并按正确顺序安装。

Parameters

plugin

IPlugin

插件实例

Returns

Promise<void>

Throws

如果依赖检查失败或安装失败


uninstall()

uninstall(name): Promise<void>

Defined in: packages/core/src/Core/PluginManager.ts:123

卸载插件

Parameters

name

string

插件名称

Returns

Promise<void>

Throws

如果插件未安装或卸载失败


getPlugin()

getPlugin(name): undefined | IPlugin

Defined in: packages/core/src/Core/PluginManager.ts:153

获取插件实例

Parameters

name

string

插件名称

Returns

undefined | IPlugin

插件实例,如果未安装则返回undefined


getMetadata()

getMetadata(name): undefined | IPluginMetadata

Defined in: packages/core/src/Core/PluginManager.ts:163

获取插件元数据

Parameters

name

string

插件名称

Returns

undefined | IPluginMetadata

插件元数据,如果未安装则返回undefined


getAllPlugins()

getAllPlugins(): IPlugin[]

Defined in: packages/core/src/Core/PluginManager.ts:172

获取所有已安装的插件

Returns

IPlugin[]

插件列表


getAllMetadata()

getAllMetadata(): IPluginMetadata[]

Defined in: packages/core/src/Core/PluginManager.ts:181

获取所有插件元数据

Returns

IPluginMetadata[]

元数据列表


isInstalled()

isInstalled(name): boolean

Defined in: packages/core/src/Core/PluginManager.ts:191

检查插件是否已安装

Parameters

name

string

插件名称

Returns

boolean

是否已安装


dispose()

dispose(): void

Defined in: packages/core/src/Core/PluginManager.ts:246

释放资源

Returns

void

Implementation of

IService.dispose

Released under the MIT License.