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
英文地址,請注明出處:http://en.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…