feat: 优化插件加载逻辑

This commit is contained in:
2023-11-09 12:07:41 +08:00
parent 3e8d1f7029
commit 507431232b
19 changed files with 371 additions and 285 deletions

View File

@@ -17,11 +17,11 @@ export class BasicLoader implements plugin.PluginLoader {
if (metadata?.type == this.type) {
loadMetadata.metadata = metadata
loadMetadata.loaded = true
this.pluginRequireMap.set(metadata.source.toString(), loadMetadata.instance)
this.pluginRequireMap.set(loadMetadata.path, loadMetadata.instance)
}
return loadMetadata
}
build(metadata: plugin.PluginMetadata) {
return this.pluginRequireMap.get(metadata.source.toString())
return this.pluginRequireMap.get(metadata.loadMetadata.path)
}
}

View File

@@ -21,8 +21,8 @@ export class IocLoader implements plugin.PluginLoader {
}
require(loadMetadata: plugin.PluginLoadMetadata) {
let metadata = this.pluginMetadataMap.get(loadMetadata.file.toString())
if (metadata && metadata.type == this.type) {
let metadata = this.pluginMetadataMap.get(loadMetadata.path)
if (metadata?.type == this.type) {
loadMetadata.metadata = metadata
loadMetadata.loaded = true
}
@@ -54,13 +54,6 @@ export class IocLoader implements plugin.PluginLoader {
disable(plugin: plugin.Plugin): void {
this.stage(plugin, 'disable')
}
reload(plugin: plugin.Plugin): void {
this.disable(plugin)
//@ts-ignore
require(plugin.description.source, { cache: false })
this.load(plugin)
this.enable(plugin)
}
private bindPlugin(metadata: plugin.PluginMetadata) {
if (this.container.isBoundNamed(plugin.Plugin, metadata.name)) {