优化方案:只打包实际使用的组件, 这里以按需引入 Element Plus为例 通常可减少 60-80% 的 Element Plus 相关体积、无需手动维护 import 列表
推荐使用
unplugin-vue-components+unplugin-auto-import,自动按需引入组件和样式。
pnpm add -D unplugin-vue-components unplugin-auto-import-
修改 vite.config.js
修改 vite.config.js -
未优化前的 element-plus
未优化前的 element-plus -
优化后的 element-plus
优化后的
处理全局 locale 配置

清理代码中的显式 import(可选), 如:
import { ElMessage } from 'element-plus';但保留也不会有问题,插件会去重。
额外优化:图标按需引入(可选)
// main.js - 只注册用到的图标
import { DataBoard, Document, User } from '@element-plus/icons-vue';
app.component('DataBoard', DataBoard);
app.component('Document', Document);
app.component('User', User);
如果 import { ElMessage } from 'element-plus' 删除, 页面用到ElMessage的地方会有 ESLint提示 'ElMessage' is not defined.
这是 ESLint 的问题:unplugin-auto-import 在构建时自动注入导入,但 ESLint 在开发时不知道这些变量。检查 ESLint 配置,添加自动导入的 ESLint 支持:
配置 unplugin-auto-import 生成 ESLint 配置文件,并在 ESLint 配置中引入它:



