feat(plugins): 动态加载插件
- 新增插件动态加载逻辑,遍历已发现的插件列表 - 对于每个插件,尝试导入其 index.ts 文件 - 导入成功后,将插件注册到应用中,并打印加载信息 -导入失败时,打印错误信息,提示插件下无 index.ts 文件
This commit is contained in:
@@ -22,4 +22,13 @@ export const scanAndInstallPlugins = (app: any) => {
|
|||||||
}
|
}
|
||||||
pluginsAll = Array.from(pluginNames);
|
pluginsAll = Array.from(pluginNames);
|
||||||
console.log('已发现插件:', pluginsAll);
|
console.log('已发现插件:', pluginsAll);
|
||||||
|
for (const pluginName of pluginsAll) {
|
||||||
|
const plugin = import(`./${pluginName}/index.ts`);
|
||||||
|
plugin.then((module) => {
|
||||||
|
app.use(module.default)
|
||||||
|
console.log(`${pluginName}插件已加载`)
|
||||||
|
}).catch((error) => {
|
||||||
|
console.log(`${pluginName}插件下无index.ts`)
|
||||||
|
})
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user