当前位置: 首页 > news >正文

vue3 + js + vite创建的项目中配置svg图

安装

npm install vite-plugin-svg-icons
npm install fast-glob

vite.config.js文件中配置如下内容

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'
export default defineConfig({plugins: [vue(),createSvgIconsPlugin({// 指定需要缓存的图标文件夹iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],symbolId: 'icon-[name]'})]
})

自定义组件,在项目中自定义一个名为svgIcon.vue的组件,该组件的内容如下

<template><div><svg :class="svgClass" aria-hidden="true"><use :xlink:href="iconName" :fill="color" /></svg></div>
</template>
<script setup>import { computed } from 'vue'const props = defineProps({iconClass: {type: String,required: true},className: {type: String,default: ''},color: {type: String,default: ''}})const iconName = computed(() => `#icon-${props.iconClass}`)const svgClass = computed(() => props.className ? `svg-icon ${props.className}` : 'svg-icon')</script>
<style scoped>.svg-icon {width: 1em;height: 1em;vertical-align: -0.15em;fill: currentColor;overflow: hidden;}
</style>

全局引入svgIcon组件

在main.js中全局引入如下内容

import 'virtual:svg-icons-register'
import SvgIcon from './components/svgIcon.vue'
const app = createApp(App)
app.component('svg-icon', SvgIcon)
app.use(router)
app.mount('#app')

使用svgIcon组件

这里假设在组件index.vue中使用

<template><div><svg-icon icon-class="vue"/></div>
</template>
<script setup></script>
<style scoped>
</style>

icon-class="vue"绑定的vue,其实就是在“src/assets/icons/vue.svg”这个图片
在这里插入图片描述

相关文章:

vue3 + js + vite创建的项目中配置svg图

安装 npm install vite-plugin-svg-icons npm install fast-globvite.config.js文件中配置如下内容 import { defineConfig } from vite import vue from vitejs/plugin-vue import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path export defau…...

c++ 找第一个只出现一次的字符

【题目描述】 给定一个只包含小写字母的字符串&#xff0c;请你找到第一个仅出现一次的字符。如果没有&#xff0c;输出no。 【输入】 一个字符串&#xff0c;长度小于100000。 【输出】 输出第一个仅出现一次的字符&#xff0c;若没有则输出no。 【输入样例】 abcabd【输出样…...

在 Unity 6 中使用APV为您的世界创建全局照明的新方法(一)

Unity 6 中推出的新照明功能让您能够更快速、更高效的完成对烘焙场景的照明工作&#xff0c;在本文中我们将与大家详细分享在 Unity 6 中应用自适应探针卷创建快速全局光照的更多细节与具体应用方法。由于内容比较丰富&#xff0c;我们将把内容分为三篇文章&#xff0c;以便大家…...

Win11安装安卓子系统WSA

文章目录 简介一、启用Hyper-V二、安装WSA三、安装APKAPK商店参考文献 简介 WSA&#xff1a;Windows Subsystem For Android 一、启用Hyper-V 控制面板 → 程序和功能 → 启用或关闭 Windows 功能 → 勾选 Hyper-V 二、安装WSA 进入 Microsoft Store&#xff0c;下拉框改为 …...

利用两种方式分别实现单例模式(懒汉式、饿汉式)

package testsingle;//实现单例的两种方式 public class TestMySingle {public static void main(String[] args) {ClassA ca1 ClassA.getClassA();ClassA ca2 ClassA.getClassA();System.out.println(ca1ca2);ClassB cb1 ClassB.getClassB();ClassB cb2 ClassB.getClassB(…...

js分页功能

先声明些全局变量方便我们在下面的代码中使用 //一页有多少条数据 let pagenum 10; //页码下标 let page_index 0; //总页数 let total_page; // 声明一个用于接数据的变量 let data&#xff1b; //获取数据 let res;通过获取数据渲染页面 // 渲染函数 function applys(da…...

Ubuntu20.04 编译运行 ORBSLAM2_with_pointcloud_map(以RGBD Orbbec Astra+为例)保姆级教程

Ubuntu20.04 编译运行 ORBSLAM2_with_pointcloud_map(以RGBD Orbbec Astra为例) 获取源码 git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git解压文件 得到如下内容 编译安装修改后的g2o cd g2o_with_orbslam2 mkdir build cd build cmake .. make…...

MyBatis(四)

第一章&#xff1a;MyBatis延迟加载策略 1. 延迟加载的概念 立即加载和延迟加载的区别&#xff0c;使用一对多的环境举例子。 立即加载&#xff1a;当前查询用户的时候&#xff0c;默认也把该用户所拥有的帐户信息查询出来了。 延迟加载&#xff1a;当前查询用户的时候&…...

【从零开始的LeetCode-算法】3285. 找到稳定山的下标

有 n 座山排成一列&#xff0c;每座山都有一个高度。给你一个整数数组 height &#xff0c;其中 height[i] 表示第 i 座山的高度&#xff0c;再给你一个整数 threshold 。 对于下标不为 0 的一座山&#xff0c;如果它左侧相邻的山的高度 严格大于 threshold &#xff0c;那么我…...

Docker常用命令总结~

1、关于镜像 获取镜像 docker pull [image name] [option:tag]AI助手//获取postgres镜像(没有设置镜像版本号则默认获取最新的&#xff0c;使用latest标记) docker pull postgres or docker pull postgres:11.14 列出本地镜像 docker imagesAI助手 指定镜像启动一个容…...

浅谈怎样系统的准备前端面试

前言 创业梦碎&#xff0c;回归现实&#xff0c;7 月底毅然裸辞&#xff0c;苦战两个月&#xff0c;拿到了美团和字节跳动的 offer&#xff0c;这算是从业以来第一次真正意义的面试&#xff0c;遇到蛮多问题&#xff0c;比如一开始具体的面试过程我都不懂&#xff0c;基本一直是…...

如何配置防火墙提高服务器安全性

配置防火墙是提高服务器安全性的重要措施之一。防火墙可以控制网络流量&#xff0c;限制未经授权的访问&#xff0c;防止恶意攻击。以下是配置防火墙以提高服务器安全性的详细指南。 一、为什么需要配置防火墙 防火墙的主要作用是&#xff1a; 限制未经授权的访问&#xff1a…...

java集合-Map HashMap 源码解析

hashMap简介 HashMap是基于哈希表实现的&#xff0c;每一个元素是一个key-value对&#xff0c;无序&#xff0c;不可重复。HashMap是非线程安全的&#xff0c;只是用于单线程环境下&#xff0c;多线程环境下可以采用concurrent并发包下的concurrentHashMap。HashMap 实现了Ser…...

案例分享|企查查的数据降本增效之路

分享嘉宾 任何强 企查查科技股份有限公司 大数据架构负责人 关于企查查 “企查查”是企查查科技股份有限公司旗下的一款企业信用查询工具。2023年5月20日&#xff0c;企查查正式发布全球首款商查大模型——“知彼阿尔法”&#xff0c;该模型基于企查查覆盖的全球企业信用数据进…...

图书馆管理系统(四)基于jquery、ajax--完结篇

任务3.6 后端代码编写 任务描述 这个部分主要想实现图书馆管理系统的后端&#xff0c;使用 Express 框架来处理 HTTP 请求&#xff0c;并将书籍数据存储在一个文本文件 books.txt 中。 任务实施 3.6.1 引入模块及创建 Express 应用 const express require(express); cons…...

什么是Modbus协议网关?

在工业自动化领域&#xff0c;设备间的通信与数据交换是实现高效、智能控制的关键。Modbus协议作为一种广泛应用的通信协议&#xff0c;自1971年由Modicon公司首次推出以来&#xff0c;便以其标准、开放、支持多种电气接口等特点&#xff0c;在工业控制系统中占据了重要地位。然…...

Docker 容器中启用 SSH 服务

在 Docker 容器中运行 SSH 服务需要一些调整&#xff0c;因为 Docker 容器通常使用 init 系统而不是完整的 systemd。以下是配置 SSH 服务在 Docker Ubuntu 容器中运行的步骤&#xff1a; 1. 安装 SSH 服务 如果还未安装 OpenSSH&#xff0c;请先安装&#xff1a; apt update…...

Linux系统—利用systemd管控系统以及服务详解(十四)

本文为Ubuntu Linux操作系统- 第十四弹~~ 新的一周开始了&#xff0c;时间过得真快&#xff0c;这星期就要冬至啦&#xff01;&#xff01; 今天继续Linux系统高级管理板块&#xff0c;主要讲述使用systemd管控系统和服务~ 上期回顾&#xff1a;“Linux系统—进程管理详解” 更…...

人工智能 AI 大模型研究设计与实践应用技术毕业论文

标题:人工智能 AI 大模型研究设计与实践应用技术 内容:1.摘要 人工智能 AI 大模型是当前人工智能领域的研究热点之一&#xff0c;它具有高度的通用性、灵活性和智能性&#xff0c;可以应用于多种领域&#xff0c;如自然语言处理、计算机视觉、语音识别等。本文旨在探讨人工智能…...

已有 containerd 的情况下部署二进制 docker 共存

文章目录 [toc]学习目的开始学习dockerd启动 containerd准备配置文件启动 containerd 启动 docker准备配置文件启动 docker 环境验证停止 docker 和 containerd 学习目的 使用容器的方式做一些部署的交付&#xff0c;相对方便很多&#xff0c;不需要担心别人的环境缺少需要的依…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...