vite中的批量导入import.meta.globEager


如果想在vite中批量导入某些文件,实现项目的模块化,vite提供的import.meta.globEager函数就很好用

比如用在路由模块化:

1、需求:不想把路由文件全部放在一个文件里面,找的时候要拖动很麻烦,就想着把每一个模块的路由按功能分成单个的文件

2、思路:在routers文件夹内新增一个modules文件夹:里面放不同功能的routers文件,然后在vue引入的路由入口处批量导入模块化的routers

3、实现:

结构:

 模块化里面的内容:

 在router文件内批量引入modules内模块化的文件并处理:

// * 导入所有router
const metaRouters = import.meta.globEager("./modules/*.ts");

// * 处理路由
export const routerArray: RouteRecordRaw[] = [];
Object.keys(metaRouters).forEach(item => {
    Object.keys(metaRouters[item]).forEach((key: any) => {
        routerArray.push(...metaRouters[item][key]);
    });
});

//在路由处引入
 const routes: RouteRecordRaw[] = [
    ...routerArray,
  ];
vue