Vue基础知识-Vue集成 Element UI全量引入与按需引入

一、方式一:全量引入 Element UI

全量引入即一次性加载 Element UI 所有组件和样式,优点是配置简单,适合快速开发;缺点是打包体积较大,生产环境可能存在冗余。

1. 安装 Element UI

全量引入只需安装 Element UI 核心依赖(运行时必需,用-S或默认不写参数):

npm install element-ui -S

2. 配置全量引入(main.js)

在项目入口文件main.js中引入所有组件和样式,并全局注册:

import Vue from 'vue'
import App from './App.vue'// 1. 全量引入Element UI组件和样式
import ElementUI from 'element-ui' // 引入所有组件
import 'element-ui/lib/theme-chalk/index.css' // 引入所有样式// 2. 全局注册Element UI(注册后所有组件可直接在模板使用)
Vue.use(ElementUI)Vue.config.productionTip = falsenew Vue({render: h => h(App),
}).$mount('#app')

二、方式二:按需引入 Element UI(生产环境首选)

按需引入仅加载项目中用到的组件和对应样式,能显著减小打包体积,是生产环境的最佳实践。但需额外配置 Babel 插件。

1. 安装依赖

需安装两个依赖:

  • element-ui:核心组件库(运行时必需,-S);
  • babel-plugin-component:按需引入插件(仅开发时用,-D);
# 安装核心组件库(运行时必需)
npm install element-ui -S
# 安装按需引入插件(开发时用)
npm install babel-plugin-component -D

2. 配置 Babel(babel.config.js)

在项目根目录的babel.config.js中添加插件配置,让 Babel 自动处理组件和样式的按需加载:

module.exports = {presets: ['@vue/cli-plugin-babel/preset' // Vue CLI默认预设,无需修改],plugins: [['component', // 对应安装的babel-plugin-component插件{libraryName: 'element-ui', // 指定目标组件库为Element UIstyleLibraryName: 'theme-chalk' // 指定Element UI的样式主题(默认theme-chalk)}]]
}

3. 按需引入组件(main.js)

main.js中仅引入项目用到的组件(本文示例用ButtonDatePickerRow),并全局注册:

import Vue from 'vue'
import App from './App.vue'// 1. 按需引入Element UI组件(仅引入用到的组件)
import { Button, DatePicker, Row } from 'element-ui'// 2. 全局注册组件(两种方式二选一,效果一致)
// 方式A:用Vue.component(显式指定组件名,Button.name即"el-button")
Vue.component(Button.name, Button)
Vue.component(DatePicker.name, DatePicker)
Vue.component(Row.name, Row)// 方式B:用Vue.use(组件内部已封装install方法,自动注册)
// Vue.use(Button)
// Vue.use(DatePicker)
// Vue.use(Row)Vue.config.productionTip = falsenew Vue({render: h => h(App),
}).$mount('#app')

三、组件代码(App.vue)

<template><div><el-row><el-button type="primary">按钮</el-button><el-button type="primary" plain>按钮</el-button><el-button type="primary" round>按钮</el-button><el-button type="primary" circle>按钮</el-button></el-row><el-date-pickerv-model="date"type="date"placeholder="选择日期"value-format="yyyy-MM-dd"></el-date-picker></div>
</template><script>export default {name:'App',data(){return {date:""}},components:{}}
</script><style></style>

四、关键知识点解析

1. -D-S的区别(依赖分类)

  • -S--save,默认):安装到dependencies(生产环境依赖),即项目运行时必须的依赖(如element-ui,用户使用时需要);
  • -D--save-dev):安装到devDependencies(开发环境依赖),即仅开发时用的工具(如babel-plugin-component,打包后无需包含)。

错误后果:若将babel-plugin-component-S安装,会导致生产环境打包时包含无用的开发工具,增加体积。

2. Vue.use()Vue.component()的区别

两种方法都能全局注册组件,但适用场景不同:

  • Vue.component(组件名, 组件对象):直接注册 “单个组件”,需手动指定组件名(如Vue.component('el-button', Button));
  • Vue.use(插件/组件):用于安装 “带install方法的对象”(Element UI 组件内部已封装install方法,调用Vue.use时会自动注册组件)。

本文示例中Button组件既可以用Vue.component(Button.name, Button)注册,也可以用Vue.use(Button)注册,效果完全一致。

五、总结

引入方式优点缺点适用场景
全量引入配置简单,无需额外插件打包体积大,冗余代码多快速开发、小型项目
按需引入打包体积小,性能优需配置 Babel 插件,步骤稍多生产环境、中大型项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/98731.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode26(字母异位词分组)

给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。示例 1:输入: strs ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","…

光平面标定 (Laser Plane Calibration) 的原理和流程

光平面标定 (Laser Plane Calibration) 是线激光3D相机系统中最为关键且精巧的一步,它直接决定了最终的测量精度。 核心目标 光平面标定的目标是:精确地求出激光器发射出的那个扇形激光平面,在相机坐标系下的数学方程。 这个方程通常表示为一般式: Ax + By + Cz + D = 0…

项目1——单片机程序审查,控制系统项目评估总结报告

执行摘要 本报告对基于STM32F103RET6的老虎机控制系统进行了全面的技术评估。通过深入分析代码结构、系统架构、安全机制和潜在风险&#xff0c;为项目的进一步开发和部署提供专业建议。 核心发现 ✅ 系统架构: 设计合理&#xff0c;模块化程度高⚠️ 安全性: 存在输入验证和并…

【Qt应用程序】

Qt应用程序摘要概述快速开始Qt在线下载与安装Visual Studio开发Qt项目VS配置Qt扩展VS创建Qt项目配置qDebug调试信息配置源程序的字符集项目结构对象树与内存回收基础数据类型信号槽定时器窗口QWidgetQMainWindowQDialog窗口布局窗口中添加右键菜单控件按钮类容器类自定义控件事…

机器学习实战(一): 什么是机器学习

机器学习&#xff1a;让机器学会思考的魔法前言 在当今数字化的浪潮中&#xff0c;人工智能无疑是最引人注目的技术之一&#xff0c;而机器学习正是其核心驱动力。它不再是科幻电影中的遥远设想&#xff0c;而是已经渗透到我们日常生活的方方面面&#xff0c;从智能推荐到自动驾…

java流水号生成方式

1、基于时间戳生成流水号利用当前时间戳生成流水号&#xff0c;可以确保唯一性。通过格式化时间戳&#xff0c;可以生成固定位数的流水号。SimpleDateFormat sdf new SimpleDateFormat("yyyyMMddHHmmssSSS"); String serialNumber sdf.format(new Date());特点&…

前端工具大全:前端开发工具、前端调试工具、前端性能优化工具与构建工具的对比与最佳实践

在现代前端开发中&#xff0c;工具链已经成为开发效率与代码质量的关键。无论是 编辑器与 IDE、构建与打包工具、调试工具 还是 性能优化工具&#xff0c;每一个环节都有成熟的解决方案。 然而&#xff0c;工具太多也容易让团队选择困难&#xff1a;该选 VS Code 还是 WebStorm…

ABAP 使用ECHARTS实现图表展示

最近发现ECHARTS可以整合到SAP中的开源项目&#xff0c;可以丝滑的在SAP中展示各种图表&#xff0c;还是相当惊艳的。 ECHARTS官方网站&#xff1a;https://echarts.apache.org/examples/zh/index.html 今天顺手在开发环境成功安装了&#xff0c;做下记录&#xff1a; 1、ABA…

hot100-贪心算法(附图解思路)

贪心算法的核心&#xff0c;就是用局部最优去代替全局最优。一般的步骤就是去试思路&#xff0c;然后举反例&#xff0c;如果举不出反例&#xff0c;基本可以看作是正确的方法。121. 买卖股票的最佳时机&#xff08;Best Time to Buy and Sell Stock&#xff09;难度&#xff1…

从齿轮到智能:机器人如何重塑我们的世界【科普类】

新晋码农一枚&#xff0c;小编会定期整理一些写的比较好的代码和知识点&#xff0c;作为自己的学习笔记&#xff0c;试着做一下批注和补充&#xff0c;转载或者参考他人文献会标明出处&#xff0c;非商用&#xff0c;如有侵权会删改&#xff01;欢迎大家斧正和讨论&#xff01;…

python超市购物 2025年6月电子学会python编程等级考试一级真题答案解析

python超市购物 2025年6月 python编程等级考试一级真题 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】 1、Python比赛 信息素养大赛Python编程挑战赛 蓝桥杯python选拔赛真题详解

浅谈代理流程自动化 (APA)

一、什么是APA Agentic Process Automation (APA)APA 利用大型语言模型 &#xff08;LLM&#xff09; 自动执行复杂的动态工作流程。它可以自主构建、执行和调整工作流程&#xff0c;同时将人员干预降至最低。与依赖基于规则的系统的传统机器人流程自动化 &#xff08;RPA&…

LeetCode - 和为K的子数组 / 爬楼梯

​欢迎光临小站&#xff1a;致橡树 和为K的子数组 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例…

day40 SQLite3单词查询程序设计与实现

day40 SQLite3单词查询程序设计与实现 核心知识点 SQLite3 C接口应用&#xff1a;使用sqlite3_open、sqlite3_exec等函数操作数据库回调函数机制&#xff1a;通过回调函数处理查询结果集SQL语句构建&#xff1a;动态生成SELECT、INSERT等SQL语句事务处理&#xff1a;使用BEGIN …

GitHub 热榜项目 - 日榜(2025-09-08)

GitHub 热榜项目 - 日榜(2025-09-08) 生成于&#xff1a;2025-09-08 统计摘要 共发现热门项目&#xff1a;17 个 榜单类型&#xff1a;日榜 本期热点趋势总结 本期GitHub热榜呈现三大技术趋势&#xff1a;AI智能体与LLM应用持续爆发&#xff08;emcie-co/parlant、coleam00…

设计模式-工厂方法原型模板方法外观

设计模式概述 - 工厂方法 & 原型 & 模板方法 & 外观 工厂方法模式简述 工厂方法模式&#xff08;Factory Method Pattern&#xff09;是一种创建型设计模式&#xff0c;它定义了一个用于创建对象的接口&#xff0c;但由子类决定实例化哪个类。工厂方法将类的实例化…

推动检测认证行业迈向智能化 AITIC一体机发布会在京举办

来源&#xff1a;新华社客户端国家市场监督管理总局认证认可技术研究中心(简称“认研中心”)近日联合技术合作伙伴在北京举办AITIC软硬件一体机发布会。据了解&#xff0c;“AITIC一体机”是专为检测认证行业设计的智能硬件&#xff0c;提供低成本的本地化部署方案&#xff0c;…

权限即数据:企业系统中的字段级访问控制架构实战(β=0.6)

摘要 这篇文章介绍了一个企业系统中的字段权限解析方案&#xff0c;通过规则表与命中记录表&#xff08;biz_rule_hit&#xff09;联动&#xff0c;实现对业务数据的动态权限控制。流程包括替换用户上下文变量、记录命中规则、查询业务数据并关联命中信息&#xff0c;最终在内存…

Python爬虫实战:研究Specialty Plots模块,构建空气质量监测数据采集和分析系统

1. 引言 1.1 研究背景 随着全球城市化进程的加速和工业的快速发展,空气质量问题已成为影响人类健康和生态环境的重要因素。世界卫生组织数据显示,全球超过 90% 的人口生活在空气质量超标的环境中,空气污染每年导致约 700 万人过早死亡。准确、及时地获取和分析空气质量数据…

字典树算法

一、什么是Trie&#xff1f; Trie&#xff08;发音为"try"&#xff09;&#xff0c;也称为字典树、前缀树&#xff0c;是一种多叉树结构&#xff0c;专门用于高效存储和检索字符串集合。其核心特点是共享字符串的公共前缀&#xff0c;从而大幅减少冗余存储&#xff0…