Vue3、Vite离线使用 Iconify 图标
- 前言
- 安装
- 配置vite.config
- 在图标集中选择图标使用
- 归纳整理项目图标
作者GitHub:https://github.com/gitboyzcf 有兴趣可关注!!!
前言
iconify.design 是一个超过20万个开源矢量图标库。
官网 👉 https://iconify.design/(英)
官网图标集 👉 https://icon-sets.iconify.design/
安装
安装图标相关包 这里使用pnpm
pnpm add -D @iconify/iconify @iconify/json unplugin-icons/vite
配置vite.config
import Icons from 'unplugin-icons/vite'// ...export default ({ mode, command }) => { // const env = loadEnv(mode, process.cwd()) return defineConfig({ // ... plugins: [ // ... Icons({}), // ... ], // ...}
在图标集中选择图标使用
搜索 只支持英文
-
找到对应图标选择自动导入
-
复制下面代码
-
在项目中引入使用
<script setup>import FlowbiteVueSolid from '~icons/flowbite/vue-solid';</script><template> <FlowbiteVueSolid color="#f00" width="100" height="100"/></template>
-
结果
将电脑网络关闭刷新页面也可以正常显示
归纳整理项目图标
创建全局组件 Icon.vue
Icon.vue
<template> <component :is="iconCom"></component></template><script setup>import FlowbiteVueSolid from '~icons/flowbite/vue-solid'import WpfPanorama from '~icons/wpf/panorama'// ...const props = defineProps({ icon: { type: String }})const iconCom = shallowRef(null)onMounted(() => { switch (props.icon) { case 'flowbite:vue-solid': iconCom.value = FlowbiteVueSolid break case 'simple-icons:insta360': iconCom.value = SimpleIconsInsta360 break // ... default: console.error(`${props.icon}需要到 src/components/Icon.vue 中配置改图标`) break }})</script>
使用
<Icon color="#f00" width="100" height="100"/>
!!!如有更好的归纳方式和方案,欢迎在下面评论!!!
到这里就结束了,后续还会更新 前端 系列相关,还请持续关注!
感谢阅读,若有错误可以在下方评论区留言哦!!!