unplugin-vue-components 插件配置 忽略 部分目录下的组件自动导入

背景

vue3 项目 为了省略 第三方库ui 组件 全局组件的注册代码,使用了 unplugin-vue-components 插件

原理

  1. 组件识别
    在编译阶段,unplugin-vue-components 会扫描 Vue 单文件组件(.vue 文件)的模板部分,识别出所有使用的组件标签。这些标签可能是来自 UI 组件库(如 Ant Design Vue、Element Plus 等)的组件,也可能是项目内部自定义的组件。

  2. 组件解析
    对于识别出的每个组件标签,unplugin-vue-components 会使用一个或多个解析器(resolver)来找到对应的组件实现。解析器可以是内置的(针对主流 UI 组件库),也可以是自定义的(针对项目内部的组件)。解析器会返回一个对象,包含组件的名称、路径和可能的副作用(如样式文件)。

  3. 自动引入
    基于解析器提供的信息,unplugin-vue-components 会自动在编译后的 JavaScript 文件中插入 import 语句

注意

业务开发 普通的局部组件 ,unplugin-vue-components 开发环境使用时 要是忘记引入,插件会优先使用缓存的帮你注入。但是打包的时候 就会报错,无法识别该组件。

解决

我们要告诉插件 忽略某些组件的自动导入,保证开发在开发环境必须手动引入,这要就可以避免忘记引入导致 打包后出现问题。

例如,有如下组件目录结构:

--component
----child-a.vue
----child-b.vue
----index.vue


······
plugins: [
      AutoImport({
        resolvers: [ElementPlusResolver()],
      }),
      Components({
        // 第三方ui库
        resolvers: [ElementPlusResolver()],
        // 排除src/components目录下的组件
        // 一个排除,可以再写几个命中
         globs: [
            'src/components/*.vue',
           '!src/components/ComponentA.vue',
         ],
      }),
    ],

这样
在这里插入图片描述
只会看到第三方库的内容

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值