vue3中elemnt plus按需引入总结

前言:在全局引入element plus后,虽然可以一劳永逸畅通无阻的使用所有组件,但是就会存在很多冗余的组件导致打包的体积很大(如下图),在浏览器也可以看到加载element plus的资源还是占比比较大的,影响项目运行性能。因此:如果能向全局引入一样只配置一次,开发中要用到什么组件时无需单个引入,自己按需挂载的话,那么既能解决项目体积问题,又能省去不少代码,无需再次解构,简直是太完美了!

全局引入打包后

在查阅了多方资料后终于找到一个最优雅的引入,那么我们直接开始吧!

1.安装

需要用到两个插件:unplugin-vue-components unplugin-auto-import

$ npm install unplugin-vue-components --save

$ npm install unplugin-auto-import --save

2.配置vite.config.ts文件

按需引入

js 复制代码
/** S-按需引入需要的插件 */
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
/** E-按需引入需要的插件 */

写入plugins配置:

js 复制代码
plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    })
  ],

3.删除main.ts里面的全局配置:

如果只是按需引入,那么全局配置就可以去掉了(如下图),只要配置vite.config.ts就完成了,插件会自动挂载处理。

试验一下,引入el-button是可以的:

注意: 但是发现使用Message消息提示组件的话样式无效, 因为ElMessage写在JS文件里的组件识别不到css文件的

解决办法:

main.ts中全局引入样式 import 'element-plus/dist/index.css'

4.另外icon组件还需单独再引入

这边建议在需要用到的页面按需引入,不会占用太大资源。

js 复制代码
import { UserFilled } from "@element-plus/icons-vue";

<el-icon><UserFilled /></el-icon>

最后来看下打包后的体积

转载请注明原作者
不喜勿喷,欢迎补充~~

相关推荐
m0_547486661 小时前
《Vue.js + uni-app全栈开发从入门到实践 》全套PPT课件2026版
vue.js·uni-app
达子6663 小时前
第10章_HarmonyOs开发图解 用JS开发UI
vue.js
奶糖 肥晨3 小时前
想return数据 返回的确是函数问题处理
vue.js
无巧不成书02184 小时前
Vue+Vue-CLI全平台零基础搭建教程
前端·javascript·vue.js·vue·前端开发·vue-cli·前端环境搭建
张人玉5 小时前
基于 Vue 3 + ECharts + Express + SQLite 的可视化大屏与业务管理系统——YOLOv8 高精度车辆行人检测与计数系统
数据库·vue.js·yolo·sqlite·echarts·express
腻害兔14 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
sugar__salt20 小时前
Vue3 表单双向绑定与响应式核心 API 技术详解
前端·javascript·vue.js
郝亚军21 小时前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
阿懂在掘金1 天前
企业级命令式弹窗方案:三行代码适配已有 Dialog
前端·vue.js·前端框架
YWL1 天前
OpenLayers + Vue 2 使用指南(01)
前端·javascript·vue.js