import.meta.glob() 笔记

455 阅读1分钟

在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文件夹新建文件,无需单独引入处理,新建文件会自动成为对应组件的子组件