vite之 import.meta.glob批量引入文件

Vite 支持使用特殊的 import.meta.glob 函数从文件系统导入多个模块:


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

 打印 metaRouters


 处理数据 metaRouters

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

处理后的路由打印


请注意

  • 这只是一个 Vite 独有的功能而不是一个 Web 或 ES 标准
  • 该 Glob 模式会被当成导入标识符:必须是相对路径(以 ./ 开头)或绝对路径(以 / 开头,相对于项目根目录解析)。
  • Glob 匹配是使用 fast-glob 来实现的 —— 阅读它的文档来查阅 支持的 Glob 模式
  • 你还需注意,glob 的导入不接受变量,你应直接传递字符串模式。
  • glob 模式不能包含与包裹引号相同的引号字符串(其中包括 '",```),例如,如果你想实现 '/Tom\'s files/**' 的效果,请使用 "/Tom's files/**" 代替。

官方文档参考:vite官方文档 --- import.meta.glob

猜你喜欢

转载自blog.csdn.net/QQ_Empire/article/details/126308587
今日推荐