想必很多前端现在都是用别人的组件库,ant-design、element-ui或者vant等,那么当组件上的icon和我们美丽动人的UI小姐姐画出的UI稿不一样的时候,你们会怎么做呢?
组件api替换大法
1、组件本身提供api给你更换icon,换之则可
2、但每次使用都要替换也是挺麻烦的,可以尝试先封装一下,使用高阶组件
可行性高,操作容易、略麻烦
源码copy大法
1、不使用传统的npm install的包安装方法
2、将组件库的源码copy下来单独一个文件
3、修改源码组件对应的图标
4、或者自己建立一个私有的npm库将整个组件库推上去
1、一次操作到位
2、但是组件库版本滞后
webpack修改大法
以ant-design为例子
webpack上的resolve路径
1 | resolve: { |
主要就是改变这个打包路径 ‘@ant-design/icons/lib/dist$’
icon.js的文件
1 |
|
就是将你需要更改的图标的地址改为你本地的
而且这里可以只引入一些你需要的图标,会减少一些icon库的打包大小
本地的图标
1 | "use strict" |
使用ant-design-icons的库做转换
https://github.com/ant-design/ant-design-icons
总结
各有利弊,欢迎补充