Vue3 中自定义组件自动按需加载
自定义组件使用过程中要一个个 import 有点麻烦,最好是可以自动按需加载
简单记录下
首先建一个 components 的目录,再新建组件(文件夹名称为组件名称,index.vue 为组件入口)

/* common components */
// 原生数据类型扩展
export default {
install(app) {
// 扫描 ./components 目录及其子目录下的所有.vue 文件
const moduleFiles = import.meta.glob('@/components/**/index.vue')
// 全局注册组件
for(let path in moduleFiles) {
let segs = path.split('/')
// 按照指定格式取得 componentName
const componentName = segs[segs.length - 2]
// 注册
app.component(componentName, defineAsyncComponent(moduleFiles[path]));
}
}
}使用的时候直接在<template>中使用
<template> <KMessage></KMessage> </template>


![[Component] slot "" is not found (for component "miniprogram_npm/tdesign-miniprogram/popup/popup").](https://www.diushu.cn/zb_users/upload/2023/06/202306171686991447658110.png)





