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>
相关推荐
昔人'3 分钟前
css使用 :where() 来简化大型 CSS 选择器列表
前端·css
昔人'6 分钟前
css `dorp-shadow`
前端·css
流***陌14 分钟前
扭蛋机 Roll 福利房小程序前端功能设计:融合趣味互动与福利适配
前端·小程序
可触的未来,发芽的智生23 分钟前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构
烛阴1 小时前
用 Python 揭秘 IP 地址背后的地理位置和信息
前端·python
前端开发爱好者1 小时前
尤雨溪官宣:"新玩具" 比 Prettier 快 45 倍!
前端·javascript·vue.js
why技术1 小时前
从18w到1600w播放量,我的一点思考。
java·前端·后端
欧阳呀1 小时前
Vue+element ui导入组件封装——超级优雅版
前端·javascript·vue.js·elementui
清风徐来QCQ1 小时前
css总结
前端
倔强青铜三1 小时前
苦练Python第69天:subprocess模块从入门到上瘾,手把手教你驯服系统命令!
人工智能·python·面试