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/

相关推荐
咸虾米_2 小时前
uniapp引入iconfont字体图标在微信小程序中适用
微信小程序·小程序·uni-app
知兀2 小时前
【uniapp/vue3+ts/js】eslint9+prettier+husky+lint-staged
前端·javascript·uni-app
2501_9159184118 小时前
如何在iPad上找到并打开文件夹的完整指南
android·ios·小程序·uni-app·iphone·webview·ipad
weixin_638303111 天前
uniapp组合式和选项式
javascript·vue.js·uni-app
木子啊1 天前
UniApp Base64上传终极解决方案
uni-app·base64·base64转图片·base64上传
换日线°1 天前
微信小程序对接位置服务(腾讯、高德)完成路径规划
前端·微信小程序·vue
2501_915918411 天前
Wireshark、Fiddler、Charles抓包工具详细使用指南
android·ios·小程序·https·uni-app·iphone·webview
阿宇爱吃鱼1 天前
uniapp input输入框,限制金额输入格式
前端·javascript·uni-app
一只程序熊1 天前
uniapp x 新手入门指南
uni-app