首页 > 其他分享 >Vite+Element Plus Icons 图标配置自动导入

Vite+Element Plus Icons 图标配置自动导入

时间:2023-01-05 22:55:05浏览次数:44  
标签:vue Icons icons Element unplugin 导入 Plus import 图标

配置自动导入

图标全部导入的话,最终打包出来的大小可能会比较大,下图是我配置自动导入之后,打包出来的大小,全部导入图标打包之后的大小大概是 1600+ KiB:

image

安装依赖:unplugin-icons、unplugin-auto-import、@iconify-json/ep、unplugin-auto-import、unplugin-vue-components

cnpm i -D unplugin-icons unplugin-auto-import @iconify-json/ep unplugin-auto-import unplugin-vue-components

国内的推荐用 cnpm,npm 可能无法下载@iconify-json/ep。还有一个依赖,不是开发环境的:

cnpm i @element-plus/icons-vue

vite.config.ts

import vue from "@vitejs/plugin-vue";
import { defineConfig } from "vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver";

export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      imports: ["vue"],
      resolvers: [
        ElementPlusResolver(),
        IconsResolver({
          prefix: "Icon"
        })
      ]
    }),
    Components({
      resolvers: [
        ElementPlusResolver(),
        IconsResolver({
          enabledCollections: ["ep"]
        })
      ],
      dirs: ["./src/components/**"]
    }),
    Icons({
      autoInstall: true
    }),
    viteCompression({})
  ]
});

使用图标

在模板中使用:

<i-ep-search />
<!-- 或者 -->
<IEpSearch />

注意:自动导入的图标不能插入到 props 中,如果 Element-Plus 组件提供 icon 插槽就可以用,否则还是需要自己手动导入。比如:

<el-popconfirm
  confirm-button-text="确定"
  cancel-button-text="取消"
  icon-color="#626AEF"
  :icon="InfoFilled"
  title="确定删除该评论?"
>
</el-popconfirm>

像是上面这个组件,它没有提供 icon 插槽,提供图标只能通过 props,InfoFilled 改成 IEpInfoFilled 的话不能被识别,所以呢,需要手动导入一下。

import {InfoFilled} from "@element-plus/icons-vue";

标签:vue,Icons,icons,Element,unplugin,导入,Plus,import,图标
From: https://www.cnblogs.com/Enziandom/p/17029072.html

相关文章

  • Java开发学习(五十)----MyBatisPlus快速开发之代码生成器解析
    1、代码生成器原理分析造句:我们可以往空白内容进行填词造句,比如:在比如:观察我们之前写的代码,会发现其中也会有很多重复内容,比如:那我们就想,如果我想做一个Book模块......
  • vue element 日期范围选择器限制:只能选今天之前的时间 || 只能选今天之后的时间 ||
    vueelement日期范围选择器限制:只能选今天之前的时间||只能选今天之后的时间||选取今天往后三天内转自于:https://www.cnblogs.com/wwyxjjz/p/16922199.html举例:......
  • Office Tool Plus 使用
    关于office是又爱又恨,之前一直用的wps,但是也会出现不兼容问题,之前一直是激活几个月之后又不行,又要重新搞,最近发现这个工具,真的是绝了,完美解决我的问题。OfficeToolPlus......
  • mybatis-plus逻辑删除不起作用
    @TableField(value="stateflag")@ApiModelProperty(value="")@TableLogic(value="0",delval="1")privateStringstateflag;字段添加如上注解并......
  • Mybatis Plus 执行sql server 存储过程
    Mapper.javaStringgetRealName(StringuserName);多租户模式下,需要加注解@InterceptorIgnore(tenantLine="true")@InterceptorIgnore(tenantLine="true")Stri......
  • 基于vue+Element Table 表格的封装
    项目场景:项目场景:需要频繁使用列表进行呈现数据,不可能每次都写一个表格,可以将表格封装为一个组件,在需要使用时可以直接调用。效果展示:项目结构:具体实现:Table.vue......
  • spring注解工具类AnnotatedElementUtils和AnnotationUtils
    spring注解工具类AnnotatedElementUtils和AnnotationUtils小眼儿 2022-11-02 原文 一、前言spring为开发人员提供了两个搜索注解的工具类,分别是AnnotatedEleme......
  • 解决element table列错位问题
    方法一:可以解决elementtable的列错位问题/deep/.el-table--borderth.gutter:last-of-type{display:table-cell!important;}方法二:拿到数据请求结果后,使用elem......
  • Mybatis-Plus多数据源切换
    方法1:https://blog.csdn.net/m0_61115595/article/details/126351288 (推荐)此方法需要在mapper.java加注解:方法2:https://www.cnblogs.com/lanxinren/p/15402925.html......
  • element ui --el-select 嵌套el-tree多选联动、删除联动
    需求:el-select下拉框嵌套el-tree树形组件完成多选、删除、搜索、清空选项等联动功能。特殊需求:(当子节点全部选中时el-select中只展示父节点tag,el-tree组件父子节点全......