()
| 409 | } |
| 410 | |
| 411 | const loadExecutedPlugin = async () => { |
| 412 | setStartLoadExecutePlugin(true) |
| 413 | for (const plugin of executeList) { |
| 414 | try { |
| 415 | const Module = await loadRemoteModule( |
| 416 | generateRemoteModuleTemplate( |
| 417 | plugin.name, |
| 418 | plugin?.expose || 'Bootstrap', |
| 419 | plugin.path || `${DEFAULT_LOCAL_PLUGIN_PATH}${plugin.name}/apipark.js` |
| 420 | ) |
| 421 | ) |
| 422 | const bootstrap = Module.bootstrap |
| 423 | if (!bootstrap) { |
| 424 | console.warn('立即执行插件未导出Bootstrap模块或bootstrap函数') |
| 425 | } else { |
| 426 | await bootstrap({ |
| 427 | pluginEventHub, |
| 428 | pluginSlotHub, |
| 429 | pluginProvider, |
| 430 | platformProvider: null, |
| 431 | messageService, |
| 432 | modalService |
| 433 | }) |
| 434 | } |
| 435 | } catch (error) { |
| 436 | console.error('执行插件失败:', error) |
| 437 | } |
| 438 | } |
| 439 | } |
| 440 | |
| 441 | const loadPlugins = () => { |
| 442 | return new Promise((resolve) => { |
no test coverage detected