/** * preloadModule - 模块预加载函数 * 静默预加载模块,失败不打断主流程 */ import { ModuleRegistry } from './ModuleRegistry'; /** * 预加载模块 * @param moduleId 模块 ID */ export async function preloadModule(moduleId: string): Promise { const state = ModuleRegistry.getModuleState(moduleId); // 已加载就不干活 if (state === 'loaded') { return; } // loading 中也不重复发起 if (state === 'loading') { return; } try { await ModuleRegistry.loadModule(moduleId); } catch (error) { // 预加载失败对用户"无感知",但记录日志 / 埋点 console.warn(`[preloadModule] failed: ${moduleId}`, error); // 可以在这里上报监控 } }