vue3 自动注册全局组件

693 阅读1分钟

通过install函数传递vue实例 ,require.context()有三个参数,第一个参数为组件的根路径,第二个参数为是否深度监听,第三个为正则,判断组件的后缀是否为.vue

    export default {
      install (vue) {
        const requireComponents = require.context('./', true, /\.vue$/)
        requireComponents.keys().forEach((item) => {
          const component = requireComponents(item).default
          vue.component(component.name, component)
        })
      }
    }

通过requireComponents(item).default拿到组件对象,全局注册,vue.component(组件名称,组件对象),注册全局组件必须含有name,否则会报错