ElementPlus按需加载 + 配置中文避坑(干掉1MB冗余代码)

最近优化项目性能时发现,之前为了省事直接全量引入了ElementPlus(明明只用了个日历组件!),首页直接白嫖了1MB资源包。必须按需加载!!

成果如下:资源体积-1MB / FCP-0.3s,记录关键步骤


解法核心

用两个插件(unplugin-auto-import负责自动导入API,unplugin-vue-components负责自动注册组件),只打包你用到的组件和样式

1. 安装全家桶

html 复制代码
pnpm add element-plus  # 库本体  
pnpm add -D unplugin-auto-import unplugin-vue-components  # 核心工具:自动导API+组件  

2. Vite配置抄作业(10 秒搞定)

js 复制代码
// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  plugins: [
    AutoImport({ resolvers: [ElementPlusResolver()] }), // 自动导API
    Components({ resolvers: [ElementPlusResolver()] })    // 自动导组件
  ]
})

3. 中文配置(如果需要)

由于 Elment-Plus 默认是英文版的,我们还需要给他加个中文配置

只需要用ElConfigProvider来给他进行个笼罩,配置 locale 属性即可。

html 复制代码
// App.vue
<template>  
  <el-config-provider :locale="zhCn">  <!-- 这里塞中文包 -->  
    <router-view />  
  </el-config-provider>  
</template>  
  
<script setup>
import { RouterView } from 'vue-router'
import { ElConfigProvider } from 'element-plus'
import zhCn from 'element-plus/es/locale/lang/zh-cn'
</script>
相关推荐
To_OC12 小时前
写了三遍 Todo List,我终于搞懂了 React 父子组件到底怎么通信
前端·javascript·react.js
勇往直前plus13 小时前
Vue3(篇一) 核心概念——响应式模板语法与组件基础
前端·javascript·vue.js
咩咩啃树皮13 小时前
第43篇:Vue3计算属性(computed)完全精讲——缓存机制、依赖计算、业务最优解
前端·vue.js·缓存
用户9385156350714 小时前
从零搭建 AI 日记助手:用 Milvus 向量数据库 + RAG 让机器读懂你的每一天
javascript·人工智能·全栈
liang_jy14 小时前
文件管理(一)—— 初识文件管理
面试·操作系统
liang_jy14 小时前
文件管理(二)—— 文件结构
面试·操作系统
徐小夕15 小时前
花了一周,3亿tokens,我开源了一款 Word 文档智能审查平台,文稿自动质检+可视化分析,告别低效人工审核
前端·算法·github
a11177615 小时前
坦克大战3D Three.js 3D (开源项目)
开发语言·javascript·3d
kyriewen16 小时前
别再乱用useEffect了——你写的10个里有8个不该存在
前端·javascript·react.js
Ivanqhz16 小时前
Rust &‘static str浅析
java·前端·javascript·rust