tableSlot.js
902 Bytes
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)