官方给的自动导入配置文件
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({// Auto import functions from Vue, e.g. ref, reactive, toRef...// 自动导入 Vue 相关函数,如:ref, reactive, toRef 等imports: ['vue'],// Auto import functions from Element Plus, e.g. ElMessage, ElMessageBox... (with style)// 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)resolvers: [ElementPlusResolver(),// Auto import icon components// 自动导入图标组件IconsResolver({prefix: 'Icon',}),],dts: path.resolve(pathSrc, '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, 'components.d.ts'),}),Icons({autoInstall: true,}),Inspect(),],
})
配置完成后,在页面直接进行使用
<!-- 使用 el-icon 为 SVG 图标提供属性 -->
<template><div><el-icon :size="size" :color="color"><Edit /></el-icon><!-- 或者独立使用它,不从父级获取属性 --><Edit /></div>
</template>
在页面中发现没有Icon图标,需要单独下载一个插件:
# NPM
$ npm install @iconify-json/ep
# Yarn
$ yarn add @iconify-json/ep
# pnpm
$ pnpm install @iconify-json/ep
在页面使用方法为:
<div><el-icon :size="size" :color="color"><i-ep-Edit /></el-icon><!-- 或者独立使用它,不从父级获取属性 --><i-ep-Edit /></div>
</template>
Icon图标自动导入成功!!!