- 官方elemnt-plus不包含icon组件,所以需要先安装
@element-plus/icons-vue
- 安装按需导入的插件
npm i unplugin-auto-import unplugin-vue-components unplugin-icons -D
- 根据官方给的链接配置
vite.config.js
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'
import Inspect from 'vite-plugin-inspect'
const pathSrc = path.resolve(__dirname, 'src')
export default defineConfig({
resolve: {
alias: {
'@': pathSrc,
},
},
plugins: [
Vue(),
AutoImport({
imports: ['vue'],
resolvers: [
ElementPlusResolver(),
IconsResolver({
prefix: 'Icon',
}),
],
dts: path.resolve(pathSrc, 'auto-imports.d.ts'),
}),
Components({
resolvers: [
IconsResolver({
enabledCollections: ['ep'],
}),
ElementPlusResolver(),
],
dts: path.resolve(pathSrc, 'components.d.ts'),
}),
Icons({
autoInstall: true,
}),
Inspect(),
],
})
- 配置到这里你会发现还是特么没啥用!坑来了,官方按需引入icon不给实例,下面是官方仓库的写法
<i-ep-user></i-ep-user>
- 我照着写了,结果还是没用!还特么得安装一个插件
pnpm add @iconify-json/ep -D
- input 加 icon。要使用插槽的方式才会生效
<el-input placeholder="搜索文本框">
<template #suffix>
<i-ep-search></i-ep-search>
</template>
</el-input>
- 还特么不如直接全局呢!!!