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

devtools/2024/9/22 15:46:56/

背景

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',],}),],

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


http://www.ppmy.cn/devtools/88841.html

相关文章

SSH配置命令

前置环境:端口配置IP地址,client和server之间可ping通,此处省略 server端: 开启stelnet [Huawei]stelnet server enable Info: Succeeded in starting the Stelnet server. aaa模式相关配置 #进入aaa模式 [Huawei]aaa # 添加用户admin和…

【RabbitMQ】RabbitMQ发布确认概述

一、基本概念 发布确认是指当生产者(Producer)发送消息到RabbitMQ后,RabbitMQ会向生产者发送一个确认消息,告知消息是否已经被成功接收和持久化。如果消息得到确认,生产者可以安全地假设消息已经成功处理;…

设计模式实战:任务调度系统的设计与实现

问题描述 设计一个任务调度系统,支持任务的创建、调度、执行和状态管理。系统需要确保任务的执行过程可以被灵活调度,并且支持任务状态的跟踪和通知功能。 设计分析 命令模式 命令模式用于将请求封装成对象,从而使我们可以用不同的请求、队列或日志来参数化其他对象。任…

LeetCode Hot100 零钱兑换

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…

【从零开始一步步学习VSOA开发】搭建VSOA运行环境

搭建VSOA运行环境 为方便 VSOA 的运行和调测,这里选择RealEvo-Simulator 下的 AMD64 平台作为 VSOA 的硬件运行环境,操作系统则选择标准版的 SylixOS 而不是容器版的SylixOS。 下载虚拟机资源 RealEvo-Simulator 并不自带 AMD64 平台虚拟机&#xff0…

PHP回收废品平台系统小程序源码

🌍绿色行动,从“回收废品平台系统”开始!🚚 🚪【家门口的环保站,废品不再无处安放】 你是否曾为家里的旧报纸、空瓶子、废旧电器等废品头疼不已,不知该如何处理?现在,“…

用PyTorch 从零开始构建 BitNet 1.58bit

我们手动实现BitNet的编写,并进行的一系列小实验证实,看看1.58bit 模型是否与全精度的大型语言模型相媲美! 什么是量化以及为什么需要它? 量化是用更少的比特数表示浮点数的过程。当两个数字使用不同的比特数进行量化时&#xf…

Day12--Servlet实现前后端交互(案例:学生信息管理系统登录页面)

(在一个完整的项目架构中,servlet的角色和位置) Servlet、GenericServlet和HttpServlet三者之间的关系是Java Web开发中的一个重要概念,它们共同构成了基于Java的服务器端程序的基础。以下是具体分析: 1. Servlet接口…