VU-Icons:打造极致体验的 Vue3 & UniApp 双端 SVG 图标库

在现代前端开发中,图标库是必不可少的基础设施。然而,在 Vue 3 和 UniApp 的跨端开发场景下,我们常常面临各种痛点:

  • 😭 兼容性噩梦:Web 端好好的 SVG,到了小程序里就显示不出来。
  • 📦 体积臃肿:引入一个图标库,打包体积瞬间激增几兆。
  • 😫 开发体验差:没有类型提示,组件名靠猜,属性全靠试。
  • 🎨 样式难调:想改个颜色、大小,还要写一堆 CSS 覆盖。

如果你也遇到过这些问题,那么 VU-Icons 正是你一直在寻找的解决方案。


🌟 VU-Icons 是什么?

VU-Icons 是一个专为 Vue 3UniApp 打造的高质量 SVG 图标组件库。它不仅轻量、灵活,更完美解决了跨端兼容性问题,让你的开发效率倍增。

🌐 官网体验https://vuicons.qiboz.top/

📦 Giteehttps://gitee.com/zhangqibo920/uv-icons

📦 GitHubhttps://github.com/zhangqibo920/uv-icons


🔥 核心优势:为什么选择 VU-Icons?

1. 双端统一,无缝兼容

VU-Icons 的最大杀手锏是同时支持 Vue 3 和 UniApp

  • Vue 3:原生 SVG 渲染,性能极致。
  • UniApp :针对非 H5 平台(如微信小程序、App)进行了特殊优化,使用 rich-text 方案完美渲染 SVG,彻底告别"图标消失术"。

2. 真正的按需引入 (Tree Shaking)

担心引入图标库导致包体积变大?VU-Icons 完美支持 Tree Shaking

无论库里有多少个图标,只要你只用了一个 <VuHome />,打包时就只会包含这一个图标的代码。你的应用体积,由你掌控。

3. 极致的开发体验 (TypeScript)

作为一个现代组件库,TypeScript 支持是标配。

VU-Icons 内置了完整的 .d.ts 类型声明。在 VS Code 中,你能获得完美的组件名自动补全和属性提示,写代码就像在填空一样丝滑。

4. 高度可定制

告别繁琐的 CSS 覆盖,VU-Icons 提供了直观的 Props:

  • size :支持数字(如 24)和字符串(如 '2rem'),响应式布局更轻松。
  • color :支持 hex、rgb、颜色名,甚至默认继承父级 currentColor
  • spin :想要一个 Loading 效果?加上 spin 属性,任何图标都能变成旋转的加载动画!

快速上手

第一步:安装

bash 复制代码
npm install vu-icons
# 或者
yarn add vu-icons

第二步:使用(Vue 3 项目)

vue 复制代码
<script setup lang="ts">
// 直接按需引入,无需额外配置
import { VuHome, VuSearch, VuSettings } from 'vu-icons'
</script>

<template>
  <!-- 基础用法 -->
  <VuHome />
  
  <!-- 自定义颜色和尺寸 -->
  <VuSearch color="#1890ff" :size="32" />
  
  <!-- 一键开启旋转动画 -->
  <VuSettings spin color="#52c41a" />
</template>

第三步:使用(UniApp 项目)

vue 复制代码
<script setup lang="ts">
// 注意:UniApp 请从专用路径引入以确保兼容性
import { VuHome, VuUser } from 'vu-icons/uniapp'
</script>

<template>
  <view>
    <VuHome :size="40" color="#333" />
    <VuUser />
  </view>
</template>

进阶玩法

动态图标状态

结合 Vue 的响应式特性,你可以轻松制作交互效果:

vue 复制代码
<script setup>
import { ref } from 'vue'
import { VuRefresh } from 'vu-icons'

const loading = ref(false)
const refresh = () => {
  loading.value = true
  setTimeout(() => loading.value = false, 2000)
}
</script>

<template>
  <button @click="refresh">
    <!-- 点击时自动旋转 -->
    <VuRefresh :spin="loading" />
    刷新列表
  </button>
</template>

结语

VU-Icons 致力于成为 Vue 3 生态中最简单、最纯粹的图标解决方案。如果你厌倦了配置繁琐的 Font Icon,或者受够了跨端开发的兼容性坑,不妨试试 VU-Icons。

如果你觉得不错,欢迎在 Gitee 上点个 Star 支持一下!

👉 立即访问官网https://vuicons.qiboz.top/

相关推荐
Byron07071 天前
从多端割裂到体验统一:基于 Vue 生态的跨端架构落地实战
vue·多端
计算机程序设计小李同学1 天前
基于 Spring Boot + Vue 的龙虾专营店管理系统的设计与实现
java·spring boot·后端·spring·vue
沐墨染1 天前
Vue实战:自动化研判报告组件的设计与实现
前端·javascript·信息可视化·数据分析·自动化·vue
奔跑的呱呱牛1 天前
viewer-utils 图片预览工具库
javascript·vue·react
局外人LZ1 天前
Uniapp脚手架项目搭建,uniapp+vue3+uView pro+vite+pinia+sass
前端·uni-app·sass
2501_915918411 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
前端呆头鹅1 天前
Websocket使用方案详解(uniapp版)
websocket·网络协议·uni-app
浮桥1 天前
uniapp+h5 公众号实现分享海报绘制
uni-app·notepad++
2501_916007471 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
Cult Of1 天前
Alicea Wind的个人网站开发日志(1)
python·vue