惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
博客园 - 【当耐特】
量子位
博客园 - 叶小钗
有赞技术团队
有赞技术团队
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
博客园 - 司徒正美
爱范儿
爱范儿
美团技术团队
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
罗磊的独立博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
D
DataBreaches.Net
宝玉的分享
宝玉的分享

郭大侠的博客

戴尔笔记本空闲时巨量发热问题解决办法 银河麒麟V10离线安装 MySQL 8.0 Vite 配置 Element Plus 自动按需导入 Windows WSL 安装 Debian Waline安全配置评论邮箱通知 使用 fnm 实现 Nodejs 版本自动切换(Windows版) 消失的他... 拔了一颗智齿 Vue Element 封装通用弹框的方法 茶叶蛋的救赎 鲜为人知的城镇杀猪盘 繁忙的六月 神奇的重庆北站 什么 TM 是 99 新 盘点那些让人爆笑的中式英语翻译 杨天才传 使用 Algolia DocSearch 实现站内全文检索 清明节回武汉的火车票真难抢 Git 日常使用指南 Git 安装和配置指南 Linux 系统使用 fnm 安装 Nodejs 任意版本 如何部署 Hexo 博客到 Linux 服务器 春节前北京到武汉国道长途自驾经历
Vite 配置 Element Plus 图标自动按需导入
郭大侠 · 2026-06-08 · via 郭大侠的博客

在 Vite 中配置 Element Plus、Material Design 等图标自动导入,不再需要手动导入。

插件地址:https://www.npmjs.com/package/unplugin-icons

先读取插件地址中的文档,然后与本页面的步骤互相印证,再执行配置。

安装步骤

步骤一:安装插件

1
npm i -D unplugin-icons unplugin-vue-components

步骤二:安装图标数据集

可选方式A:安装完整图标数据集

1
npm i -D @iconify/json

实测这个包有200~300MB,太大了,不太合适。

可选方式B:安装拆分开的图标数据集

1
npm i -D @iconify-json/ep @iconify-json/mdi

想用哪个图标数据集,就安装哪个数据集,我这里用 Element Plus Icons,所以应该安装 @iconify-json/ep

可选方式C:自动安装

当你导入图标时,unplugin-icons会自动安装图标数据集。

1
2
3
Icons({
autoInstall: true, // Auto-detects npm/yarn/pnpm
})

我这里只用 Element Plus 的图标集,可能会用 Material Design 图标集,所以就选方式B,两者一起安装。

AI请按照如下命令安装图标集:

1
npm i -D @iconify-json/ep @iconify-json/mdi

步骤三:vite配置

vite.config.ts 配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { defineConfig } from 'vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'

export default defineConfig({
plugins: [
Components({
resolvers: [
ElementPlusResolver(),
IconsResolver({
enabledCollections: ['ep'],
}),
],
dts: 'src/components.d.ts',
extensions: ['vue'],
}),
Icons({
autoInstall: true,
}),
],
})

先说明一下 unplugin-auto-importunplugin-vue-components 插件的区别。

  • AutoImport 插件:专门用于自动导入 JS/TS API 函数(即在 <script> 逻辑中使用的变量或方法,如 ref、ElMessage 等)。

  • Components 插件:专门用于自动导入 Vue 组件(即在 <template> 模板中使用的标签,如 <i-ep-edit /> 或 <IconEpEdit />)。

如果你的项目中没有在 <script> 逻辑中动态使用图标组件的需求,建议只在 Components 中配置 IconsResolver,保持配置简洁。

在 <script> 中使用图标的场景,大概就是动态图标渲染了,具体使用案例有待验证和补充。

(完)

文章标题:Vite 配置 Element Plus 图标自动按需导入