Browse Source

update Web/src/views/home/widgets/components/index.ts.
feat: 增加组件过滤,设置不需要导入的组件

Signed-off-by: xin12023 <chenxin2024@gmail.com>

xin12023 2 years ago
parent
commit
9332b869cf
1 changed files with 17 additions and 8 deletions
  1. 17 8
      Web/src/views/home/widgets/components/index.ts

+ 17 - 8
Web/src/views/home/widgets/components/index.ts

@@ -4,19 +4,28 @@ type Component = any;
 
 const resultComps: Record<string, Component> = {};
 
+// 要排除的组件名称数组
+const excludeComponents = ['scheduleEdit'];
+
 // 使用 import.meta.glob 动态导入当前目录中的所有 .vue 文件,急切导入
 const requireComponent = import.meta.glob('./*.vue', { eager: true });
 // console.log(requireComponent);
 
 Object.keys(requireComponent).forEach((fileName: string) => {
-	// 处理文件名,去掉开头的 './' 和结尾的文件扩展名
-	const componentName = fileName.replace(/^\.\/(.*)\.\w+$/, '$1');
-	// 确保模块导出存在并且是默认导出
-	const componentModule = requireComponent[fileName] as { default: Component };
-	// 将组件添加到 resultComps 中,使用处理后的文件名作为键
-	resultComps[componentName] = componentModule.default;
+  // 处理文件名,去掉开头的 './' 和结尾的文件扩展名
+  const componentName = fileName.replace(/^\.\/(.*)\.\w+$/, '$1');
+
+  // 如果组件名称在排除数组中,跳过导入
+  if (excludeComponents.includes(componentName)) {
+    return;
+  }
+
+  // 确保模块导出存在并且是默认导出
+  const componentModule = requireComponent[fileName] as { default: Component };
+
+  // 将组件添加到 resultComps 中,使用处理后的文件名作为键
+  resultComps[componentName] = componentModule.default;
 });
-// 动态的,这里拿到title等东西是为了这里显示
 
 // 标记 resultComps 为原始对象,避免其被设为响应式
-export default markRaw(resultComps);
+export default markRaw(resultComps);