-
组件加载失败
-
无法加载组件: ${componentPath}
-
原始组件名: ${componentName}
-
错误: ${error instanceof Error ? error.message : String(error)}
-
`,
- style: `
- .component-error {
- padding: 20px;
- text-align: center;
- color: #f56565;
- background: #fed7d7;
- border-radius: 4px;
- }
- `
- })
- );
- });
- };
+
+ // 3. 从 VIEW_MODULES 中查找对应的 loader
+ const loader = VIEW_MODULES[componentPath];
+
+ if (!loader) {
+ console.error('[路由生成] 未找到组件模块', {
+ 原始组件名: componentName,
+ 期望路径: componentPath,
+ 可用模块: Object.keys(VIEW_MODULES)
+ });
+ // 找不到时退回到 404 组件
+ return () => import('@/views/public/error/404.vue');
+ }
+
+ return loader as () => Promise