vue中实现组件自动化全局注册

你是否有这样的烦恼,在vue中写了很多自己的组件,不论是基础组件还是业务组件,想在其他组件中引用,就必须要import的方式引进来,例如

// 引入
import ImageBotton from './Image-botton.vue'
export default {
  component: {
    ImageBotton
  }
}

// 使用

<Image-botton><Image-botton/>

一个两个还好,项目大了就会麻烦起来了,而且需要修改的话,也需要每个里面都去对应一遍。现在这个时代,时间就是金钱,开发效率是第一位,有些工作就不需要重复无意义的进行。
那么组件的全局注册就体现出来他的优势了。

const requireComponent = require.context(
  // 其组件目录的相对路径
  '@/components/',
  // 是否查询其子目录
  true,
  // 匹配基础组件文件名的正则表达式
  /\.(vue|js)$/
);
requireComponent.keys().forEach(fileName => {
  // 获取组件配置
  const componentConfig = requireComponent(fileName);
  // 获取组件的命名(可以根据自己项目的实际情况进行修改)
  const componentName = fileName.replace(/^\.\//, '').replace(/\/\index.vue$/, '');
  // 全局注册组件
  Vue.component(
    componentName,
    // 如果这个组件选项是通过 `export default` 导出的,
    // 那么就会优先使用 `.default`,否则回退到使用模块的根。
    componentConfig.default || componentConfig
  );
});
// 引入:无需引入
// 使用:直接在页面中使用
<Image-botton><Image-botton/>

注意:组件的全局自动注册的方法一定要在new Vue之前进行


听说分享关注的人都年薪百万了

这里是前端扫地僧,和你一起分享前端的那些事。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文章是我最近在公司的一场内部分享的内容。我有个习惯就是每次分享都会先将要分享的内容写成文章。所以这个文集也是用来...
    Awey阅读 13,140评论 4 67
  • 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装...
    youins阅读 13,197评论 0 13
  • Vue 组件官网:https://cn.vuejs.org/v2/guide/components.html 组件...
    璎珞纨澜阅读 3,265评论 0 1
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 4,946评论 0 1
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    流觞小菜鸟阅读 5,881评论 2 8

友情链接更多精彩内容