
/**
 * 自定义全局组件的自动注册
 */

import { defineAsyncComponent } from 'vue';

export const components = {
  install(Vue) {
    let files = import.meta.glob('./global/*.vue');//异步导入
    // const files = import.meta.globEager('./global/*.vue');//同步导入,vite高版本不可用
    for(let fileName in files) {
      let moduleName = fileName.replace(/^.*\/(\w+)\.vue$/,"$1");
      Vue.component(moduleName, defineAsyncComponent(files[fileName]));//注册异步组件
      console.debug("注册异步组件",moduleName)
      // Vue.component(moduleName, files[fileName].default);//注册同步组件
    }
    files = import.meta.glob('./type/*.vue');
    for(let fileName in files) {
      let moduleName = fileName.replace(/^.*\/(\w+)\.vue$/,"$1");
      Vue.component("Type"+moduleName, defineAsyncComponent(files[fileName]));//注册异步组件
      console.debug("注册异步组件","Type"+moduleName)
    }
  }
}