最近在用vite+vue3.2构建移动端开发模板
发现之前的批量注册组件方案行不通,
原因是因为之前使用了require来引入文件夹
vite中不支持require
经过了一番翻看文档后发现vite提供了import.meta.globEager这个方法可以拿到文件夹下的所有文件信息
对之前的代码进行了改造最终成功
//获取public目录下所有的文件信息
const modulesFiles = import.meta.globEager('./public/*.vue')
const pathList = []
//遍历拿到所有的文件名称
for (const path in modulesFiles) {
pathList.push(path)
}
//全局批量注册components下所有组件
export default {
install(app) {
pathList.forEach((path) => {
const component = modulesFiles[path].default
app.component(component.name, component)
})
}
}