【前端笔记】小记一次Antd Vue 1.x (for vue2.x) icons组件按需引入的实现

news2025/2/24 12:28:34

因为项目有样式规范要求,和规范最相似的就是antd了,再加上项目用的是2.x,所以使用antd 1.x版本进行开发。项目完成后,理所应当对打包进行优化,于是遇到了icons组件全量引入的问题,查找了资料实现后特地记录一下(别问为什么不用vue3,因为项目太赶,就挑了最顺手的vue2.x)

antd vue按需引入已经不用再多说了,按照官网一步步的实现基本不会出现问题。问题主要是出现在icons组件上。

首先,通过webpack-bundle-analyzer插件对打包产物进行分析,可以看到@antd-vue/icons的占比非常的大,经过gzip压缩后都有差不多150kb的大小。再看看ant-design-vue中的引入
在这里插入图片描述
可以看到源码里是全量引入的。

优化

1、安装对应版本的@ant-design/icons

从全量改完按需引入首先得把它的依赖装上,至于装的什么版本,可以从node_modulesant-design-vuepackage.json查看当前依赖的版本。我这里用的是1.7.8的版本,对应的icons版本是2.1.1

2、新建统一的图标js

这一步是将需要按需引入的图标进行统一管理并导出使用。例如:

export { default as LeftOutline } from '@ant-design/icons/lib/outline/LeftOutline';

3、vue.config.js配置

找到configureWebpack配置,并添加resolve.alias配置,如下:

// 对象
configureWebpack: {
	resolve: {
		alias: '@ant-design/icons/lib/dist$': '${path}',
	}
}
// 函数
configureWebpack: config => {
	config.resolve.alias: {
		alias: '@ant-design/icons/lib/dist$': '${path}',
	}
}

${path}:第二步时自定义的图标js文件路径(例如:path.join(__dirname, ‘xxx/xxx/xxx.js’))
这一步是网上所有方法中通用的,作用是将图标引用路径指向为自己定义的地方,这样webpack之后打包就只会打包我们在自定义js中定义导出的图标。

总结

  • 1、下载的@ant-design/icons版本要和当前使用的@ant-design-vue对得上。如果不知道对应版本可以按照我上面提到的方法查看
  • 2、自定义导出图标的文件路径一定要对上(可能和本篇的不同,因为版本区别)。如果发现报错Can't resolve '@ant-design/icons/lib/outline/xxx' in xxxx,先看node_modules中这路径存不存在,再看下载的版本对不对,一般检查这2个足以排查出问题
  • 3、因为图标转成按需引入了,一定一定记得用到的图标或者疑似用到的图标都要引入,比如Loading。不知道引入图标的名称可以去node_modules中查看对应的js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

R语言作业--第六章判别分析

目录 思考题4)原题目:贝叶斯判别的基本思想是什么? 练习题第3题:以舒张期血压和讯将胆固醇含量预测被检查者是否患冠心病,测得15名冠心病人和16名健康人的舒张压。X1及血浆胆固醇含量X2,结果如表6-4。 练习题第4题:…

Day03 leecode#有效的括号#合并两个有序链表

题目描述: 有效的括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必…

大模型相关资料整理

1. 大模型的挑战 GPT-3 175B模型的参数如下: 网络层(Number of layers): 96 句子长度(Sequence length): 2048 隐藏层大小(Hidden layer size): 12288 词汇表(Vocabulary size&#…

java高级--SpringBoot篇

目录 一、什么是SpringBoot 二、SpringBoot的特点 三、springboot快速入门 四、介绍配置文件的种类 五、开发环境配置文件的切换 六、读取springboot配置文件中的内容 七、Springboot注册web三大组件 八、SpringBoot的底层原理 8.1 包扫描的原理 8.2 springboot自动装配原理…

如何备考高级软考的系统架构设计师?

架构设计师是软考高级科目,比较难,每一年的通过率在15%左右。 不过软考它的特点是考察的深度不深,但是范围比较广,特别是高级,对项目经验比较看重,如果没有项目经验的朋友,一定要多准备项目素材…

springboot10:web开发常用功能(拦截器,文件上传,异常处理)

一.拦截器 1.使用 访问任何请求,都只有登录才能访问,挨个写入请求太困难,使用拦截器机制handlerIntercepter(prehandle方法,posthandle方法,afterCompletion方法)编写一个拦截器实现handlerInterceptor接…

算法与数据结构 - 字节跳动笔试题

😄这里将持续更新接下来做过的字节跳动公司相关的笔试题,包括网上收集的秋春招笔试题、以及自己参加的字节举办的编程赛的题目。 🚀导航: ID题目描述NO.1小红走迷宫简单、按逻辑写即可ACNO.2铺水管dfs回溯、注意剪枝才能ACNO.3喵汪故事借助二分才能ACNO.4小超的游戏pytho…

学术论文写作以及discussions/results与conclusion的区别

经验帖 | 如何写SCI论文? Result、Discussion和Conclusion区别解析 如何写学术论文 一篇论文只能有一个主题,不能出现过多的研究问题,这样只会让文章读起来很乱。就像大牛经常讲的,“one paper, one story”,一篇论文…

unix/linux make

GNU:make 参考文档 程序的编译和链接 一般来说,无论是C还是C,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即Object File,这个动作叫做编译(compile&…

HummerRisk V0.5.1 发布:新增对象存储、优化K8s 资源态势和资源拓扑等

HummerRisk V0.5.1 发布:新增对象存储对接查看功能,增加 K8s 资源的部署信息查看,深度优化K8s 资源拓扑,并优化了镜像检测、云检测及资源态势同步等多个内容。 感谢社区中小伙伴们的反馈,你们的认可是我们前进的动力。…

java中的函数式接口是什么?

问题现象: 最近在复习java基础知识,发现了一个面试题: java中的函数式接口是什么? 问题分析: 老实说,我一开始看到“函数式接口”这个术语,愣了一下: java中的函数式接口是什么&…

移动WEB开发之流式布局--二倍图

物理像素&物理像素比 物理像素点指的是屏幕显示的最小颗粒,是物理真实存在的。这是厂商在出厂时就设置好了,比如苹果6\7\8 是 750* 1334 物理像素比就是屏幕的分辨率,分辨率越高,显示越清楚,750* 1334就是横的有750的像素点…

运行mbedtls自带Demo ssl_client的记录

概述: 运行mbedtls自带 ssl demo的记录; 操作过程: 编译Demo,请看我专栏中的相关文章 先运行服务端程序,运行ssl_server.exe,运行结果如下: mbedtls-3.2.1\mbedtls-3.2.1\programs\ssl> .…

目标检测论文解读复现之九:基于改进YOLOv5的复杂场景下SAR图像船舶检测方法

前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

Linux:shell编程(内含:1.shell简介+2.shell实操+3.shell的变量介绍+4.shell变量的定义)

1.shell简介: 解释:界面编写各种命令时,需要一个解释器,解释器先执行后给linux。执行完之后,结果返回给界面。经常使用的是bash。 注:若界面执行的命令比较复杂,可以写一个脚本,xxx…

医疗健康产品展:联影医疗

​ 国内医疗健康行业的独角兽公司(估值超10亿) 联影医疗 1 基本信息 联影医疗是一家医疗设备和医疗信息化解决方案提供商,为医疗机构提供涵盖影像诊断设备、放疗设备、服务培训、医疗IT的全方位医疗解决方案。 联影筹建于2010年10月&…

第七章 树与森林

树与森林 7.1树的概念与表示 7.1.1树的定义及相关术语 1.树的定义 ​ 树(Tree)是n(n≥0)个有限数据元素的集合。当n=0时,称这棵树为空树。在一棵非树T中: ​ ⑴有一个特殊的数据…

算法常见高数知识

文章目录1. 偏微分方程和常微分方程1.1 偏微分1.2 常微分2. 表示方法(名词/notation)2.1 莱布尼兹表示3. 空间直线及其方程4. 方向向量4.1 两点求方向向量高数课本(有目录)可以看这个链接:1. 高等数学第六版.同济大学数学系.扫描版.pdf 1. 偏…

《InnoDB引擎‍》 MySQL缓存池

‍MySQL缓存池 InnoDB存储引擎是基于磁盘存储的,并将其中记录按照页的方式进行管理。因此可以将其视为基于磁盘的数据库。 在数据库系统中,由于CPU速度和磁盘速度之间的鸿沟,基于磁盘的数据库系统通常使用缓冲池技术来提高数据库整体性能。 缓…

阿里P8MySQL,基础/索引/锁/日志/调优都不误,一锅深扒端给你

阿里P8MySQL,你知道都问些啥吗?昨天小编特意去搜集了一些MySQLP8问题,经过整理归纳分为基础、索引、锁、日志、调优、开放问题等等168道题目,拿出这些题来测试一下自己水平可否??? 先上一张MySQ…