require.context参数介绍
require.context(directory,useSubdirectories,regExp)
- directory:表示检索的目录
- useSubdirectories:表示是否检索子文件夹
- regExp:匹配文件的正则表达式,一般是文件名
正则获取文件名:./componentA.vue -> componentA
filename.replace(/\.\/(.*)\.vue/, '$1')
const requireComp = require.context('@/components', true, /.vue/)
requireComp.keys().forEach(filename => {
//组件
const comp = requireComp(filename)
// 组件名: 先去name,没有则取文件名;
const compName = comp.name || filename.replace(/\.\/(.*)\.vue/, '$1')
// 注册
Vue.component(compName, comp.default || comp)
})