import Vue from 'vue' import upperFirst from 'lodash/upperFirst' import camelCase from 'lodash/camelCase' function setComponent(requireComponent) { requireComponent.keys().forEach(fileName => { console.log('----------------->fileName',fileName); const componentConfig = requireComponent(fileName) const componentName = upperFirst( camelCase(fileName.replace(/^\.\//, '').replace(/\.\w+$/, '')), ) console.log('----------------->componentName',componentName); const name = `${componentName}` Vue.component(name, componentConfig.default || componentConfig) console.log(name) }) } // 第一个参数表示检索的目录 // 第二个参数表示是否检索子文件夹 // 第三个参数匹配文件的正则表达式,一般是文件名 const requireComponent = require.context( '@/components/tableSlot',true, /\.vue$/, ) setComponent(requireComponent)