- 首先把公共组件放到一个文件夹下,例:
@/components/library;
- 使用
require提供的函数context加载某一个目录下所有的.vue后缀的文件;
- 然后
context函数会返回一个导入函数importFn;
- 他有一个返回属性
keys()获取所有的文件路径;
- 通过文件路径遍历数组,再使用
importFn导入组件对象;
- 遍历的同时进行全局注册即可;
const importFn = require.context('./', false, /\.vue$/)
export default {
install (app) {
importFn.keys().forEach(path => {
const component = importFn(path).default
app.component(component.name, component)
})
}
}
在main.js中使用组件
import UI from '@/components/library'
createApp(App).use(store).use(router).use(UI).mount('#app')