vue3 iconify 图标几种使用 并加载本地 svg 图标

iconify

iconify

与 @iconify/vue 使用

下载

pnpm add @iconify/vue -D

使用

import { Icon } from "@iconify/vue";<template><Icon icon="mdi-light:home" style="color: red; font-size: 43px" /><Icon icon="mdi:home-flood" style="color: red; font-size: 43px" />
</template>;

iconify 图表集
在这里插入图片描述

下载完整集合

pnpm add @iconify/json -D

下载单个图标集

格式:@iconify-json/[collection-id]

pnpm add @iconify-json/mdi -D

与 unplugin-icons

unplugin-icons

pnpm add unplugin-icons -D

vite.config.ts 配置

import Icons from "unplugin-icons/vite";export default defineConfig({plugins: [...,Icons({/* options */}),],
});

.vue 使用 需要手动引入

<script lang="ts" setup>
import IconAccountBox from "~icons/mdi/account-box";
</script><template><icon-account-box style="font-size: 2em; color: red" />
</template>

进阶 与 unplugin-vue-components 一起使用 您可以根据需要使用任何图标,而无需显式导入。只有使用的图标才会被捆绑在一起。

vite.config.ts 配置

import Components from "unplugin-vue-components/vite";
import Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver";export default defineConfig({plugins: [Components({resolvers: [IconsResolver({/* options */// prefix: "icon", // 自定义前缀  默认: i <i-ri-alipay-line />,修改后  <icon-ri-alipay-line />, 值为 false 则不需要前缀// enabledCollections: ["ri"], // 哪些集合启用规则}),],}),Icons({/* options */// scale: 1.2, // Scale of icons against 1em// defaultStyle: "", // Style apply to icons// defaultClass: "", // Class names apply to icons// compiler: null, // 'vue2', 'vue3', 'jsx'// jsx: "react", // 'react' or 'preact'// autoInstall: true // 自动安装图标库}),],
});

组件名规则 {prefix}-{collection}-{icon}

<script lang="ts" setup></script><template><i-ri-alipay-line /><i-carbon-accessibility />
</template>

加载本地 svg 图片

注意加载的目录 ./src ,GitHub 示例中 assets 是根文件

import Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver";
import { FileSystemIconLoader } from "unplugin-icons/loaders";
import { promises as fs } from "node:fs";Components({resolvers: [IconsResolver({// 加上集合名称customCollections: ["custom", "inline"]})],
}),
Icons({compiler: 'vue3',customCollections: {// 加载该目录下所有 用法: <i-custom-steering-wheel />custom: FileSystemIconLoader("./src/assets/custom-a"),// 加载单个,写法不同inline: {// 用法: <i-inline-foo />foo: `<svg>....</svg>`,// 用法: <i-inline-async />async: () => fs.readFile("./src/assets/giftbox.svg", "utf-8"),},},iconCustomizer(collection, icon, props) {const name = `${collection}:${icon}`;if (name === "inline:async" || name === "inline:foo" || name === "custom:car-a") {props.width = "1em";props.height = "1em";props.color = "skyblue";}},
}),

使用

<template><i-mdi-light-alarm style="font-size: 60px; color: red" /><i-inline-foo style="color: red; font-size: 100px" /><i-inline-async style="color: red; font-size: 100px" /><i-custom-steering-wheel /><i-custom-car-a style="color: red; font-size: 100px" />
</template>

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

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

相关文章

hosts.allow和hosts.deny配置

有个单机环境限制ssh登录&#xff0c;有多种方式&#xff0c;这里选择了配置hosts.allow和hosts.deny [rootdb ~]# more /etc/hosts.allow # # hosts.allow This file contains access rules which are used to # allow or deny connections to network services t…

shell脚本三

目录 一、循环语句 一、循环 二、for循环语句 1.列表循环 2.与c语言循环相似的for循环 3.使用for打印三角形以及乘法表 4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中&#xff0c;未存活的主机放入另一文件中 三、while循环语句 四、until循环语句…

如何使用 Navicat 连接 GaussDB 主备版

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持对GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结构同步、协同合作、数据迁移等&#xff09;&#xff0c;这…

浅析OKR的敏捷性

前言 OKR对于工作的提升有着一定的不可替代的作用。特别在敏捷方面。 OKR的敏捷性 OKR&#xff08;Objectives and Key Results&#xff09;是一种目标设定框架&#xff0c;它的敏捷性主要体现在以下几个方面&#xff1a; 公开透明 OKR要求完全公开透明&#xff0c;让每个员…

每日一练:质因数分解

1. 题目 从键盘输入一个整数&#xff0c;开始整数的质因数分解&#xff0c;最后打印出该整数的所有质因数。 2.解题思路 1&#xff09;初始化&#xff1a; 从最小的质数开始&#xff0c;将输入的整数不断除以质数&#xff0c;直到无法整除为止。   2&#xff09;循环&#x…

ansible的基本安装

目录 一、简介 1.ansible自动化运维人工运维时代 2.自动化运维时代 3.ansible介绍 4.ansible特点 二、ansible实践 1.环境 2.ansible管理安装 3.ansible被管理安装 4.管理方式 5.添加被管理机器的ip 6.ssh密码认证方式管理 三、配置免密登录 1.ansible自带的密码…

【grep】从html表格中快速定位某个数据

文章目录 1 背景2 参考知识2.1 grep2.2 HTML基础语言标签 3 解决方案 1 背景 在html中是一堆表格、图片、文字什么的&#xff0c;想从表格中提取关键词为“GJC”后对应的数字&#xff0c;怎么办呢&#xff1f; 逐个打开html文件&#xff0c;“ctrlF”搜一下&#xff0c;然后复…

vue项目中element-ui对话框el-dialog嵌套显示时多了一个遮罩层解决办法

在对话框里又嵌套了一个对话框展示时&#xff0c;多了一个遮罩层&#xff0c;如下图所示&#xff1a; 解决办法如下&#xff1a; 给对话框添加append-to-body 属性&#xff0c;参考以下代码&#xff1a; <el-dialog :visible.sync"dialogVisible" append-to-body …

所有产品都值得用AI再做一遍,让AGI与品牌营销双向奔赴

微软 CEO Satya Nadella 曾经说过&#xff1a;“所有的产品都值得用 AI 重做一遍。” AI 大模型的出现&#xff0c;开启了一个全新的智能化时代&#xff0c;重新定义了人机交互。这让生成式 AI 技术变得「触手可得」&#xff0c;也让各行业看到 AGI 驱动商业增长的更大可能性。…

ui设计师简历自我评价的范文(合集)

ui设计师简历自我评价的范文篇一 本人毕业于艺术设计专业&#xff0c;具有较高的艺术素养&#xff0c;平时注重设计理论知识的积累&#xff0c;并将理论应用到作品中。了解当下设计的流行趋势&#xff0c;设计注重细节、重视用户体验&#xff0c;对色彩搭配有着浓厚的兴趣&…

13、深度学习之神经网络

深度学习是机器学习中重要的一个学科分支,它的特点就在于需要构建多层“深度”的神经网络。 人们在探索人工智能初期,就曾设想构建一个用数学方式来表达的模型,它可以模拟人的大脑,大脑我们都知道,有很多神经元,每个神经元之间通过突触链接。 神经网络的设计就是模仿了这…

11.6AOP

一.AOP是什么 是面向切面编程,是对某一类事情的集中处理. 二.解决的问题 三.AOP的组成 四.实现步骤 1.添加依赖(版本要对应): maven仓库链接 2.添加两个注解 3.定义切点 4.通知 5.环绕通知 五.excution表达式 六.AOP原理 1.建立在动态代理的基础上,对方法级别的拦截. 2. …

3

目录 【任务 3】私有云运维开发[10 分] 【题目 1】Ansible 服务部署&#xff1a;部署 MariaDB 集群[2 分] 【题目 2】Ansible 服务部署&#xff1a;部署ELK 集群服务[2 分] 【题目 3】Python 运维开发&#xff1a;基于OpenStack Restful API 实现镜像上传[1 分] 【题目 4】Pyth…

【机器学习】贝叶斯分类器

贝叶斯分类器是一种概率模型&#xff0c;利用贝叶斯公式来解决分类问题。假设样本的特征向量服从一定的概率分布&#xff0c;我们就可以计算出该特征向量属于各个类的条件概率。分类结果是条件概率最大的分类结果。如果假设特征向量的每个分量彼此独立&#xff0c;则它是朴素贝…

Java,数据结构与集合源码,关于List接口的实现类(ArrayList、Vector、LinkedList)的源码剖析

目录 ArrayList ArrayList的特点&#xff1a; ArrayList源码解析&#xff1a; Vector Vector的特点&#xff1a; Vector源码解析&#xff1a; LinkedList LinkedList的特点&#xff1a; LinkedList的源码剖析&#xff1a; 使用说明&#xff1a; ArrayList ArrayList的…

开源和闭源软件对开发的影响

开源软件的优势&#xff1a; 开源性&#xff1a;开源软件允许任何人查看、修改和发布源代码&#xff0c;这促进了代码的共享和集体学习。透明性&#xff1a;开源软件提高了软件的透明度&#xff0c;使用户可以更好地理解软件的工作原理&#xff0c;增加对软件的信任。社区支持…

【OpenCV实现图像:OpenCV利用Python创作热力图】

文章目录 概要读取图像图像灰度化**像素化效果**小结 概要 热力图是一种强大的统计图表&#xff0c;通过对数据进行色彩映射&#xff0c;直观展示了数据分布的热度和密度。在绘制热力图时&#xff0c;关键在于指定颜色映射的规则&#xff0c;这决定了图中不同数值的呈现方式。…

matlab 一些画图法总结(持续更新)

*****************************************画Dmd_L极坐标表示法**************************************** if(~exist(Dmd_L_array)) Dmd_L_array []; end Dmd_L_array [Dmd_L_array; Dmd_L]; thetaangle(Dmd_L_array); rabs(Dmd_L_array); polarplot(theta,r,o); *****…

【教程】ACM 模式输入输出 C++

目录 输入输出输入单个数字 or 字符输入单行数列输入单行字符串输入多行符号列&#xff0c;已知行数和列数 字符串处理删除字符串中的某个字符 / 子串find()erase() 输入字符串并分割到 vector\<string> 中getline()stringstream示例 快速排序其他 输入输出 输入单个数字…

渗透实例------2个星期艰难的渗透纪实

2个星期艰难的渗透纪实 kyo327 入侵原因,需删一帖子,目标用www.111.com代替,前期通过初期的网站文件暴力猜解,扫描到robots.txt这个文件,有以下目录。如图1: 图1 再通过对这些文件的访问,从3gadm.php文件的标题栏得到该网站采用的是diy-page8.3的cms,自然可以先用搜索…