在vite打包的项目中import.meta.glob()可以获取到文件夹中的文件信息,例如
this.modules = import.meta.glob('./event/*.vue')
变量modules是一个对象,里面包含了event文件夹下各文件名,数据格式如下
{
./event/event_1.vue:()=>{name:'./event/event_1.vue'},
./event/event_2.vue:()=>{name:'./event/event_2.vue'},
./event/event_2.vue:()=>{name:'./event/event_2.vue'}
...
}
获取组件数据
this.modules[path]().then(res => {
this.event_comp=res.default;
});
使用组件
<template v-slot:body>
<component :is="event_comp" v-if="event_comp" :task="task" :about="about"></component>
</template>
在event文件夹新建文件,无需单独引入处理,新建文件会自动成为对应组件的子组件