打造属于自己的vue图标库
hfex-icon图标库
Install
npm i -D hfex-icon
主要提供2种使用方式
方式一
通过svg图标资源,借助unplugin-icons库将svg图标文件生成vue组件,然后通过vue组件的引入方式在vue中使用
unplugin-icons
兼容vue2和vue3
在vue.config.js的plugins中配置
Install unplugin-icons
npm i -D unplugin-icons
Webpack版本
const path = require('path')
const Icons = require('unplugin-icons/webpack');
const { FileSystemIconLoader } = require('unplugin-icons/loaders');
module.exports = {configureWebpack:{plugins:[Icons({compiler: vue2,//vue2或者vue3,看当前项目customCollections: {'hfex-icon': FileSystemIconLoader(path.join(process.cwd(), './node_modules/hfex-icon/icons'), svg =>svg.replace(/^<svg /, '<svg fill="currentColor" '))}})]}
}
Vite版本
import { defineConfig } from 'vite'
import Icons from 'unplugin-icons/vite'
import path from 'path'
import { FileSystemIconLoader } from 'unplugin-icons/loaders'
export default defineConfig({plugins:[Icons({compiler: vue3,//vue2或者vue3,看当前项目customCollections: {'hfex-icon': FileSystemIconLoader(path.join(process.cwd(), './node_modules/hfex-icon/icons'), svg => {return svg.replace(/^<svg /, '<svg fill="currentColor" ')})}
}),
]
})
也可以通过hfex-icon-plugin 配置,hfex-icon-plugin是将以上plugin上的配置封装起来
Install
npm i hfex-icon-plugin -D
在vue.config.js的plugins中配置(webpack)
vite版本待更新…
const HfexIconPlugin = require('hfex-icon-plugin')
module.exports = {configureWebpack:{plugins:[...HfexIconPlugin.plugins]}
}
在vue入口文件引入注册组件
import HfexIcon from 'hfex-icon'
app.use(HfexIcon) //vue3
Vue.use(MfexIcon); //vue2
使用
<hfex-icon name="home" color="#999" size="80px"/>
效果展示

参数支持
| 参数 | 类型 | 默认值 |
|---|---|---|
| name | string | home |
| size | string | 28px |
| color | string | #000 |
方式二
配合unocss使用
Install unocss
npm install -D unocss
在vue入口文件引入
import 'uno.css'
在vue.config.js的plugins中配置
npm install -D @unocss/webpack
//vue.config.js
const UnoCSS = require('@unocss/webpack').default
const presetIcons = require('unocss').presetIcons
const presetUno = require('unocss').presetUno
const presetAttributify = require('unocss').presetAttributifymodule.exports = {configureWebpack:{plugins:[UnoCSS({presets: [presetUno(),presetAttributify(),presetIcons({collections: {'hfex-icon': () => require('hfex-icon/iconify-json/hfex-icon.json')}})]}),]}
}
vite中使用
//vite.config.ts
import Unocss from 'unocss/vite'
import { defineConfig } from 'vite'
import Unocss from 'unocss/vite'
import { presetUno, presetAttributify, presetIcons } from 'unocss'export default defineConfig({plugins:[UnoCSS({presets: [presetUno(),presetAttributify(),presetIcons({collections: {'hfex-icon': () => require('hfex-icon/iconify-json/hfex-icon.json')}})]}),]
})
使用
<div class="i-hfex-icon:message w-80px h-80px bg-#cde6c7"></div>
<div class="i-hfex-icon:delete w-80px h-80px bg-#994405"></div>
<div class="i-hfex-icon:share w-80px h-80px bg-#cde6c7"></div>
效果展示

图标支持

相关文章:
打造属于自己的vue图标库
hfex-icon图标库 Install npm i -D hfex-icon主要提供2种使用方式 方式一 通过svg图标资源,借助unplugin-icons库将svg图标文件生成vue组件,然后通过vue组件的引入方式在vue中使用 unplugin-icons 兼容vue2和vue3 在vue.config.js的plugins中配置…...
C++11线程池
使用 condition_variable::wait(unique_lock<mutex>&lck, Predicate pred) 时,必须保证条件变量通过notify唤醒的同时,wait 的第二个参数 Predicate 返回 true 了才可以往下走。必须两个条件同时满足,如果notify的时候Predicate返回…...
企业打造VR虚拟展厅,开启商务洽谈新时代!
现代化数字营销中,企业做了虚拟线上展厅和不做虚拟展厅的对比是很明显的,VR虚拟展厅让企业产品、企业环境、企业实力的展示更加真实、直观。虚拟展厅是一种在线展示企业形象和品牌的新型方式,随着VR技术的发展,虚拟展厅正在逐步取…...
linux部署gitlab
1. 配置yum源: vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabled1 2. 更新本地缓存 sudo yum install -y gitlab-ce 3. 安装相关依赖 yum …...
c++_learning-基础部分
文章目录 基础认识:语言特性(面向对象编程):c的类(相当于c中的结构体):三大特性:c包含四种编程范式:优缺点: c程序编译的过程:预处理->编译&am…...
支持PC端、手机端、数据大屏端的Spring Cloud智慧工地云平台源码
技术架构:微服务JavaSpring Cloud VueUniApp MySql 智慧建筑工地云平台主要利用大数据、物联网等技术,整合工地信息、材料信息、工程进度等,实现对建筑项目的全程管理。它可以实现实时监测和控制,有效解决施工中的问题,…...
给cmd控制台程序 套壳 美化
给cmd控制台程序套壳美化,可以获取程序的标准输出和报错信息。 # _*_ coding: utf-8 _*_ """ 控制台程序启动器,杜绝黑窗口。 Time: 2023/10/18 15:28 Author: Jyun Version: V 0.1 File: main.py Blog: https://ctrlcv.…...
【系统架构设计】架构核心知识: 1 构件和中间件
目录 一 构件 1 构件的特性 2 构件、对象和模块的对比 3 构件的复用...
通过开发者工具-网络排查响应时间过长的问题
关键词:network 网络 pending 开发者工具 有时候我们会发现某次http请求花费了很长时间,比如会花费十几秒,那么我们可以通过开发者工具的网络和其他一些工具来分析请求时间过长的原因 Dev Tool 中时间线各阶段代表的意义 分别用edge、chorm…...
【Python】Python 实现 Excel 到 CSV 的转换程序
Python 实现 Excel 到 CSV 的转换程序 Excel 可以将电子表格保存为 CSV 文件,只要点几下 鼠标,但如果有几百个 Excel文件要转换为 CSV , 就需要点击几小时。利用 openpyxl 模块, 编程读取当前工作目录中的所有 Excel 文件&#x…...
BUUCTF题解之[极客大挑战 2019]Havefun 1
1.题目分析 使用浏览器开发者工具查看网页源码,查看疑似flag的代码。 (特别是注释了的源码,一般是HTML,JS,PHP的源码) 修改统一资源定位符URL访问服务器后端接口,拿到flag。 1.URL URL是统一资源定位符(…...
DIV+CSS网页布局
本文参考 https://blog.csdn.net/ZhangJiWei_2019/article/details/114669722 二、浮动 浮动的元素会向左或向右浮动,直到碰到前面已经有浮动的元素或者是其父元素的边框为止。浮动的元素会脱离文档流(不再占有原来的位置)。 (…...
python二次开发CATIA:CATIA Automation
CATIA 软件中有一套逻辑与关系都十分严谨的自动化对象,它们从CATIA(Application)向下分支。每个自动化对象(Automation Object,以下简称Object)都有各自的属性与方法。我们通过程序语言调用这些 Object 的属性与方法,便…...
2023年中国云计算软件市场规模、市场结构及市场份额情况分析[图]
云计算是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算软件类型分为三类,即基础设施即服务、平台即服…...
docker入门加实战—部署Java和前端项目
docker入门加实战—部署Java和前端项目 部署之前,先删除nginx,和自己创建的dd两个容器: docker rm -f nginx dd部署Java项目 作为演示,我们的Java项目比较简单,提供了一个接口: 配置文件连接docker里的m…...
机器人制作开源方案 | 行星探测车概述
1. 功能描述 行星探测车(Planetary Rover)是一种用于进行科学探索和勘测任务的无人车辆,它们被设计成能够适应各种复杂的地形条件和极端环境,以便收集数据、拍摄照片、采集样本等。行星探测车通常包含以下主要组件和功能ÿ…...
Git基础命令
一、Git 码云创建空白仓库 什么都不选,使用代码初始化 初始化仓库:git init 配置信息:git config user.name"mashuchao" 配置信息:git config user.email"mashuchao.com" 查看配置信息:git c…...
C#中Semaphore 和 CountdownEvent 的使用总结
信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量。一旦该关键代码段完成了,那么该线程必须释…...
THE PLANETS:EARTH vulnhub
信息收集 netdiscover -i eth0 -r 192.168.239.0,扫描存活主机,发现目标主机 对目标主机进行端口扫描:nmap -p- -sV -O -Pn -A 192.168.239.186,发现443端口存在DNS,域名 在本地得/etc/hosts中添加域名信息 浏览…...
【随想】每日两题Day.13
题目:344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入&…...
从BadApple到像素艺术:0.96寸OLED上的微型视频播放器全栈实现
1. 从网络热梗到硬件实现:BadApple的像素之旅 第一次看到BadApple在0.96寸OLED上流畅播放时,我整个人都惊呆了。这个源自东方Project的经典黑白剪影动画,居然能在比硬币还小的屏幕上完美还原。你可能在B站看过各种版本的BadApple,…...
手把手教你为YOLOv8 TensorRT推理写一个C++接口:从DLL封装到QT界面调用
深度解析:构建高效YOLOv8 TensorRT推理C接口的工程实践 在工业视觉和边缘计算领域,将深度学习模型封装为可复用的软件组件已成为提升开发效率的关键。本文将以YOLOv8模型为例,深入探讨如何设计一个专业级的TensorRT推理C接口,重点…...
【免费下载】 探索SFP模块的奥秘:SFP-I2C工具推荐
探索SFP模块的奥秘:SFP-I2C工具推荐 项目介绍 在现代网络通信中,SFP(Small Form-factor Pluggable)模块扮演着至关重要的角色。这些模块通过I2C接口提供了丰富的信息,包括制造商、功能支持以及诊断数据等。然而&#x…...
思源宋体TTF字体包:为什么专业设计师都选择它?7大应用场景深度解析
思源宋体TTF字体包:为什么专业设计师都选择它?7大应用场景深度解析 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版烦恼吗?字体选择困…...
3步掌握B站视频转文字神器:为什么你需要这个效率提升10倍的工具
3步掌握B站视频转文字神器:为什么你需要这个效率提升10倍的工具 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 你是否曾经为了整理一个精彩的B站…...
dropin-minimal-css框架质量评估标准:如何选择最适合的CSS框架
dropin-minimal-css框架质量评估标准:如何选择最适合的CSS框架 【免费下载链接】dropin-minimal-css Drop-in switcher for previewing minimal CSS frameworks 项目地址: https://gitcode.com/gh_mirrors/dr/dropin-minimal-css 在当今前端开发的世界中&…...
从原理到实战:晶体管开关电路设计与常见问题解析
1. 项目概述:为什么我们需要晶体管开关?如果你玩过Arduino或者树莓派,肯定遇到过这样的尴尬:想用单片机的一个GPIO引脚直接点亮一个12V的汽车大灯,或者驱动一个小马达,结果要么灯不亮,要么马达纹…...
MAA明日方舟自动化工具终极指南:如何一键解放双手轻松长草
MAA明日方舟自动化工具终极指南:如何一键解放双手轻松长草 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https:/…...
Spark算子分类与特性解析
转换算子转换算子是Spark中最基础的算子类型,它们负责定义数据处理的逻辑,但不会立即执行计算。转换算子具有惰性求值特性,这意味着它们只是记录下数据转换的规则,而不会立即触发计算。常见的转换算子包括:map…...
从‘亮灯’到‘定位’:一个真实商用车J1939故障排查全记录(含DM1多包传输解析)
从‘亮灯’到‘定位’:一个真实商用车J1939故障排查全记录(含DM1多包传输解析) 1. 故障现象与初步诊断 那是一个普通的周二早晨,维修车间接到一辆6x4牵引车的报修单——仪表盘上的MIL(故障指示灯)持续点亮。…...
