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>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

11.6AOP

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

python实现鼠标实时坐标监测

python实现鼠标实时坐标监测 一、说明 使用了以下技术和库&#xff1a; tkinter&#xff1a;用于创建GUI界面。pyperclip&#xff1a;用于复制文本到剪贴板。pynput.mouse&#xff1a;用于监听鼠标事件&#xff0c;包括移动和点击。threading&#xff1a;用于创建多线程&…

深入浅出 Linux 中的 ARM IOMMU SMMU I

Linux 系统下的 SMMU 介绍 在计算机系统架构中&#xff0c;与传统的用于 CPU 访问内存的管理的 MMU 类似&#xff0c;IOMMU (Input Output Memory Management Unit) 将来自系统 I/O 设备的 DMA 请求传递到系统互连之前&#xff0c;它会先转换请求的地址&#xff0c;并对系统 I…

[MICROSAR Adaptive] --- Persistency

1 persistency 概念介绍 percistency持久化,上一集我们介绍过 从一个应用程序的角度来看 它能使用的API可以分为三类,ara::per的API就属于这里的第二类direct API,只需要编译链接相应的库就可以直接使用了。我们先来了解ara::per的主要功能,ara::per提供持久化存储相关的,…

云流量回溯主要作用是哪些?

云流量回溯&#xff0c;作为网络运营中的一项关键技术&#xff0c;具有重要的作用&#xff0c;为企业提供了更加精准、高效的网络管理手段。本文将探讨云流量回溯的主要作用以及其在网络优化中的关键性。 1. 实时监测与分析&#xff1a;云流量回溯通过实时监测网络流量&#xf…

[Linux] shell脚本之循环

一、循环定义 一组被重复执行的语句称之为 循环体,能否继续重复,决定循环的终止条件。 循环语句 是由循环体及循环的终止条件两部分组成的。 二、for循环 2.1 带列表循环 语法 for 变量名 in 取值列表do 命令序列 done 花括号用法&#xff1a; 花括号{ }和seq在for循环…

虚拟摇杆OnJoystickMove未被调用,角色不移动

更改interaction type 为 event notification

spring-boot-admin-starter-server监控springboot项目

文章目录 场景实现具体操作展示 场景 监控三件套Prometheus、Grafana、Alertmanager 部署起来太复杂,如果公司没有运维而且项目很小就可以使用spring-boot-admin-starter-server替代。这个包使用起来还是很简单的, 下面就实现一个对springCloud项目的监控 实现 参考 项目 具体操…

表格制作软件排行榜,热门做表格的软件推荐

在数字化时代&#xff0c;表格不仅仅是企业管理和数据整理的重要工具&#xff0c;更是学术研究、项目规划以及日常生活中必不可少的一部分。为了更高效地进行表格制作&#xff0c;选择一款优秀的表格制作软件是至关重要的。在众多的软件中&#xff0c;我们特别推荐一款备受好评…

在Jupyter Lab中使用多个环境,及魔法命令简介

一、Jupyter Lab使用conda虚拟环境 1、给虚拟环境添加 ipykernel 方法一: 创建环境时直接添加ipykernel 方法&#xff1a;conda create -n 【虚拟环境名称】python3.8 ipykernel实例如下&#xff1a; conda create -n tensorflow_cpu python3.8 ipykernel 方法二&#xff…

Spring Boot 邮件发送(五种类型的邮件)

邮件协议&#xff1a; SMTP、POP3、IMAP SMTP 协议全称为 Simple Mail Transfer Protocol&#xff0c;译作简单邮件传输协议&#xff0c;它定义了邮件客户端软件与 SMTP 服务器之间&#xff0c;以及 SMTP 服务器与 SMTP 服务器之间的通信规则。 用户先将邮件投递到腾讯的 SMT…

git问题: git@10.18.*.*: Permission denied (publickey,password)

遇到的问题&#xff1a; openSSH版本太高&#xff0c;openssh高版本默认禁止ssh-rsa加密算法&#xff0c;直接换ed25519 执行以下命令&#xff1a; 在.ssh目录下执行&#xff1a;ssh-keygen -t ed25519 -C “youremail.com” ssh-add ~/.ssh/id_ed25519 将id_ed25519.pub添加…

网络知识学习(笔记二)

ios模型规定的网络模型一共有7层&#xff0c;但是实际使用过程中&#xff0c;4层的TCP/IP模型是经常使用的&#xff0c;网络知识学习笔记里面也是基于4层TCP/IP模型进行分析的&#xff0c;前面已经讲了&#xff1a;&#xff08;1&#xff09;物理层&#xff0c;&#xff08;2&a…

c语言编程(模考3)统计字符串中数字字符的个数

统计字符串中数字字符的个数 #include<stdio.h> int main(){char inputString[100];int digitCount 0;printf("请输入一个字符串&#xff1a;");scanf("%s",inputString);for(int i0;inputString[i]!\0;i){if (inputString[i]>0&&inpu…

Android线程优化——整体思路与方法

**在日常开发APP的过程中&#xff0c;难免需要使用第二方库和第三方库来帮助开发者快速实现一些功能&#xff0c;提高开发效率。但是&#xff0c;这些库也可能会给线程带来一定的压力&#xff0c;主要表现在以下几个方面&#xff1a; 线程数量增多&#xff1a;一些库可能会在后…

论文阅读 Forecasting at Scale (一)

最近在看时间序列的文章&#xff0c;回顾下经典 论文地址 项目地址 Forecasting at Scale 摘要1、介绍2、时间业务序列的特点3、Prophet预测模型3.1、趋势模型3.1.1、非线性饱和增长3.1.2、具有变化点的线性趋势3.1.3、自动转换点选择3.1.4、趋势预测的不确定性 摘要 预测是一…

知虾数据软件:电商人必备知虾数据软件,轻松掌握市场趋势

在当今数字化时代&#xff0c;数据已经成为了企业决策的重要依据。对于电商行业来说&#xff0c;数据更是至关重要。如果你想在电商领域中脱颖而出&#xff0c;那么你需要一款强大的数据分析工具来帮助你更好地了解市场、分析竞争对手、优化运营策略。而知虾数据软件就是这样一…

海外IP代理:数据中心代理IP是什么?好用吗?

数据中心代理是代理IP中最常见的类型&#xff0c;也被称为机房IP。这些代理服务器为用户分配不属于 ISP&#xff08;互联网服务提供商&#xff09;而来自第三方云服务提供商的 IP 地址。数据中心代理的最大优势——它们允许在访问网络时完全匿名。 如果你正在寻找海外代理IP&am…

历法、节日、节气

目录 一&#xff0c;阳历、阴历、公历、农历 1&#xff0c;阳历、阴历 2&#xff0c;公历&#xff0c;农历 二&#xff0c;双历合并 1&#xff0c;组成要素 2&#xff0c;一年 3&#xff0c;一月 4&#xff0c;一日 三&#xff0c;闰法则 1&#xff0c;闰秒 2&#…

Influence Matters 成立印度尼西亚办公室,构建北亚及东南亚服务中心

2023 年 11 月 22 日——过去八年&#xff0c;Influence Matters致力于通过高效的公关传播服务&#xff0c;为跨境B2B 科技企业耕耘中国市场提供业务支持。我们已与近百家企业、组织和政府合作&#xff0c;以远超预期的公关传播方案和执行力&#xff0c;为客户与其目标决策者和…