首页 > 其他分享 >Iconify图标

Iconify图标

时间:2023-03-09 19:34:26浏览次数:43  
标签:npm icons svg unplugin Iconify 图标

Iconify是什么?

Iconify是一个基于svg跟图标相关的开源项目,收录了一百多个开源图标合集,跟阿里的iconfont类似。

如果说阿里的iconfont像逛超市一样,挑好了(收藏成一个项目)去前台买单(下载),然后回家收拾(解压),吃掉(使用)。

那么Iconify的就像点外卖(选择图标合集)一样,送货上门(npm下载)直接在家吃(使用)。

Iconify的优势:

1、下载使用方便。Iconify可以通过npm来使用图标集,而阿里要通过网站下载压缩包。

2、通用的规范。Iconify提供了一个svg的规范,通过IconifyIcon、IconifyJSON等类型的规范,把svg组成的图标集抽象成体积比较小的文件通过npm下载到本地来按需加载按需打包。

Iconify的劣势:

1、生态不够大。阿里的iconfont目前有两千三百万图标,而Iconify只有十五万的图标。

Iconify如何使用?

使用的话主要是通过几个插件来使用(其他地方使用可以查看:https://github.com/antfu/unplugin-icons):

1、unplugin-icons:一个导入图标的插件,提供自动按需导入Iconify图标集,按需加载,自定义本地图标集等功能。

2、Iconify:图标数据源

3、unplugin-vue-components:Vue 的按需组件自动导入

目标1:使用本地svg图标集

安装unplugin-icons

npm i -D unplugin-icons

安装unplugin-vue-components

npm i unplugin-vue-components -D

在vite.config.js里引入

import Components from 'unplugin-vue-components/vite'
import Icons from 'unplugin-icons/vite'
import { FileSystemIconLoader } from 'unplugin-icons/loaders'
import IconsResolver from 'unplugin-icons/resolver'
export default defineConfig({
...
  plugins: [
    Components({
      resolvers: [
        IconsResolver({
          // prefix: false,
          enabledCollections: ['my'],
        })
      ],
    }),
    Icons({
      compiler: "vue3",
      autoInstall: true,
      customCollections: {
        'my': FileSystemIconLoader('./src/assets/svg', svg => svg.replace(/^<svg /, '<svg fill="currentColor" '))
      }
    })
]
...
})

在组件里使用(四种写法),使用规则是{prefix}-{my}-{add}。prefix没写默认是i,如果prefix是false的话则是<my-add />、<myAdd />、 <MyAdd />。my是设置在vite.config.js的集合名称。add是目录里面的svg文件名称。

<script setup >
import Add from '~icons/my/add';
</script>

<template>
    <Add />
    <IMyAdd />
    <i-my-add />
    <I-My-Add />
</template>

效果

目标2:使用Iconify里的图标

安装Iconify图标集

第一种,全部安装
npm i -D @iconify/json
第二种安装某一个图标集
https://icon-sets.iconify.design/搜索你想要的图标,然后点击获取信息

 安装你想要的集合,比如我选的是ic集合
//npm i -D @iconify-json/集合名称
npm i -D @iconify-json/ic

使用Iconify图标集

到vite.config.js里添加集合名称
...
 Components({
      resolvers: [
        IconsResolver({
          // prefix: false,
          enabledCollections: ['my',‘ic’],//添加上集合名称ic
        })
      ],
    }),
...
在组件中使用
<script setup >
import Add from '~icons/my/add';
import Add2 from '~icons/ic/baseline-add-circle-outline';
</script>

<template>
    <Add />
    <IMyAdd />
    <i-my-add />
    <I-My-Add />
//ic集合里的图标
    <Add2 />
    <IIcBaselineAddCircleOutline />
    <i-ic-baseline-add-circle-outline />
    <I-Ic-Baseline-Add-Circle-Outline />
</template>
效果

标签:npm,icons,svg,unplugin,Iconify,图标
From: https://www.cnblogs.com/lovewhatIlove/p/17196751.html

相关文章

  • 如何修改网页的标题和左侧的小图标
    一、修改网页标题<title>标签指定当前页面的网页图标或网站标题二、修改网页左侧的小图标<link>标签上的rel="icon"属性值指定当前页面的网页图标或网站图标。网页加入......
  • Favicon.ico图标常见问题
     什么是Favicon图标?Favicon也称为URL图标或网站图标。这些图标非常小(通常为16×16或32×32),并会显示在浏览器窗口和书签中网站网址的旁边,让访问用户可以轻松在其打开的窗......
  • 萌萌的云朵图标绘制
    一、绘制一个圆角矩形形状二、再绘制一个圆调整好位置并打组,并复制一层。三、合并组图层,并更改颜色四、添加图层样式——斜面浮雕五、添加渐变又浅变深......
  • TortoiseGit 安装后不显示图标问题
    1.  【TortoiseGit 安装后不显示图标问题,亲测有效,记得注册表前面多打点空格】  TortoiseGit显示文件状态图标-独木成林-博客园(cnblogs.com)......
  • element table 修改排序图标 保留原有排序功能
      使用 render-header修改图标,官方文档有说明在 el-table-column添加属性 :render-header="renderHeader"<el-table-columnprop="viewsNumber"sortable:r......
  • office图标变白新的处理方法
    https://www.haozhuangji.com/xtjc/133013759.html一般搜索得到的处理方式与上面链接的处理方式差不多,都是通过安装wps或者修改注册表来实现的。 本文是我在无意中发现......
  • vue3 门户网站搭建5-图标
    奈何element自带的图标太少,不够用,故打算使用 vite-plugin-svg-icons组件来封装svg-icon。ps:ui框架选用的 element-ui,为了能跟vue3更好的结合,还得装个 elemen......
  • android stdio中button的按下与松开实现图标转换
    首先在res目录下的drawable文件夹下创建select功能的.xml文件,然后下载两张图片drawable文件夹(图片名称开头不可以是数字),第二步,在.xml文件中添加如下两行代码<itemandr......
  • Windows 10开机桌面图标异常
    你好,请问是所有用户都出现这个问题吗?请尝试换一个账号登陆看是否出现这样的问题。选择“开始”,再选择“附件”,右键点击打开“命令提示符”,在里边输入sfc/scannow 或DIS......
  • Teamcenter在BMIDE中,根据对象不同属性,配置显示不同的图标
    1.制作图标:  2.将图标添加到bmide中通过右键,新建“业务对象图标”    3.新建属性渲染器  4.编辑渲染器xml配置<iconsVersion="1.0"> <primaryI......