require.context 与 import.meta.glob

require.context 与 import.meta.glob

两者都是根据正则获取目录下一类文件

require.context参数

require.context(directory,useSubdirectories,regExp)

directory:表示检索的目录
useSubdirectories:表示是否检索子文件夹
regExp:匹配文件的正则表达式,一般是文件名

比如,可以用在Vue项目中的路由的加载和vuex中module的加载

let routerList = [];
let routerFileList = require.context('./module', false, /\.js$/);

routerFileList.keys().forEach(key => {
    routerList.push(...routerFileList(key).default);
});

export default [
    ...routerList
]

import.meta.glob

是vite中支持的

import.meta.glob('./dir/*.js', { eager: true })

参数

参数1:路径以及文件类型
参数2:配置项
	eager: boolean 是否懒加载,进行 tree-shaking
	import: '' 导入模块中的部分内容
	query: {} 查询
	as: 导入形式
多个匹配模式
const modules = import.meta.glob(['./dir/*.js', './another/*.js'])

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/9f7b371093.html