Element-Plus 图标自动导入
🚀 作者主页: 有来技术
🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot
🌺 仓库主页: Gitee 💫 Github 💫 GitCode
💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正!
目录
- 引言
- 安装 Element-Plus
- 安装自动导入依赖
- 安装自动导入图标依赖
- 自动导入配置
- .eslintrc.cjs
- tsconfig.json
- vite.config.ts
- 自动导入图标使用
- 自动导入图标样式
- 开源项目
引言
Element-Plus
官方提供了四种 安装图标方式 方式,本文将详细介绍如何通过自动导入方式。从 Iconify 中自动导入任何图标集。
本篇参考官方 自动导入模板。
安装 Element-Plus
npm install element-plus
安装自动导入依赖
Element-Plus 自动导入(推荐)
npm install -D unplugin-auto-import unplugin-vue-components
安装自动导入图标依赖
Element-Plus 图标自动导入
npm i -D unplugin-icons
自动导入配置
.eslintrc.cjs
自动导入函数 eslint 规则引入
"extends": [
"./.eslintrc-auto-import.json"
]
tsconfig.json
自动导入TS类型声明文件引入
{
"include": ["src/**/*.d.ts"]
}
vite.config.ts
import path from 'path'
import { defineConfig } from 'vite'
import Vue from '@vitejs/plugin-vue'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
const pathSrc = path.resolve(__dirname, 'src')
export default defineConfig({
resolve: {
alias: {
'@': pathSrc,
},
},
plugins: [
Vue({
reactivityTransform: true,
}),
AutoImport({
// Auto import functions from Vue, e.g. ref, reactive, toRef...
// 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
imports: ['vue', '@vueuse/core'],
dirs: [path.resolve(pathSrc, 'composables')],
// Auto import functions from Element Plus, e.g. ElMessage, ElMessageBox... (with style)
// 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
resolvers: [
ElementPlusResolver(),
// Auto import icon components
// 自动导入图标组件
IconsResolver({}),
],
vueTemplate: true,
dts: path.resolve(pathSrc, 'typings', 'auto-imports.d.ts'),
}),
Components({
resolvers: [
// Auto register icon components
// 自动注册图标组件
IconsResolver({
enabledCollections: ['ep'],
}),
// Auto register Element Plus components
// 自动导入 Element Plus 组件
ElementPlusResolver(),
],
dts: path.resolve(pathSrc, 'typings', 'components.d.ts'),
}),
Icons({
autoInstall: true,
}),
],
})
自动导入图标使用
默认名称格式: i-ep-图标名
,图标名在 Element-Plus
官方-图标集合 查询
<div class="avatar">
<img :src="userStore.user.avatar + '?imageView2/1/w/80/h/80'" />
<!-- i-ep-图标名(CaretBottom ) -->
<i-ep-CaretBottom />
</div>
效果如下:
自动导入图标样式
如何修改通过自动导入图标的大小和颜色样式?
<el-icon :size="12" color="#409eff">
<i-ep-CaretBottom />
</el-icon>
开源项目
- 微服务商城项目
Github | Gitee | |
---|---|---|
开源组织 | 有来开源组织 | 有来开源组织 |
后端 | youlai-mall 📖 | youlai-mall 📖 |
前端 | mall-admin🌎 | mall-admin 🌎 |
移动端 | mall-app 🌎 | mall-app 🌎 |
- 前后端分离项目
Github | Gitee | |
---|---|---|
开源组织 | 有来开源组织 | 有来开源组织 |
后端 | youlai-boot 📖 | youlai-boot 📖 |
前端 | vue3-element-admin 🌎 | vue3-element-admin 🌎 |