批量注册组件和手动注册组件

183 阅读1分钟

1.批量注册组件(webpack提供)

批量注册组件.png // 批量注册组件 注意,被注册的组件要添加名字

export default {
  install(Vue) {
    const requireComponrnt = require.context('./', true, /\.vue$/)
    requireComponrnt.keys().forEach((item) => {
      // 获取组件对象
      console.log(requireComponrnt(item).default, 66677)
      // 组件对象
      const moduleObj = requireComponrnt(item).default
      Vue.component(moduleObj.name, moduleObj)
    })
  }
}
// require.context(参数1,参数2,参数3) 是webpack提供的一个自动导入的API
// 参数1:加载的文件目录  文件路径
// 参数2:是否加载子目录   是否深层次查找
// 参数3::正则,匹配文件
// requireComponent:返回值:导入函数 fn
// keys() 获取读取到的所有文件列表

1.1批量注册组件未给组件加name属性时报错

批量注册组件未给组件加name时报错.png

注意一定要给所有组件加name

组件文件图.png

组件加name.png

1.2可查看组件对象

console.log(requireComponrnt(item).default, 66677)

查看组件组件.png

2手动注册组件

import pageTools from '@/components/pageTools'
export default {
  install(Vue) {
    Vue.component('pageTools', pageTools)
  }
}

最后别忘记挂载到vue上

挂载到main.js上.png