feat: optimize ioc loader

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2022-05-11 10:56:47 +08:00
parent 47413c6766
commit 86aacf1a1f
6 changed files with 10 additions and 4 deletions

View File

@@ -63,13 +63,13 @@ export class IocLoader implements plugin.PluginLoader {
}
private bindPlugin(metadata: plugin.PluginMetadata) {
try {
if (this.container.isBoundNamed(plugin.Plugin, metadata.name)) {
let pluginInstance = this.container.getNamed<plugin.Plugin>(plugin.Plugin, metadata.name)
if (pluginInstance.description.source + '' !== metadata.source + '') {
console.i18n('ms.plugin.manager.build.duplicate', { exists: pluginInstance.description.source, source: metadata.source })
}
this.container.rebind(plugin.Plugin).to(metadata.target).inSingletonScope().whenTargetNamed(metadata.name)
} catch {
} else {
this.container.bind(plugin.Plugin).to(metadata.target).inSingletonScope().whenTargetNamed(metadata.name)
}
}