vue3集成Element-Plus之全局導(dǎo)入和按需導(dǎo)入
element-plus集成
Element Plus,一套為開(kāi)發(fā)者、設(shè)計(jì)師和產(chǎn)品經(jīng)理準(zhǔn)備的基于 Vue 3.0 的桌面端組件庫(kù):
- 在Vue2中使用element-ui,而element-plus是element-ui針對(duì)于vue3開(kāi)發(fā)的一個(gè)UI組件庫(kù);
- 它的使用方式和很多其他的組件庫(kù)是一樣的,所以學(xué)會(huì)element-plus,其他類(lèi)似于ant-design-vue、NaiveUI、VantUI都是差不多的;
- 移動(dòng)端使用VantUI | MintUI
- 安裝element-plus
npm install element-plus
1. 全局引入
一種引入element-plus的方式是全局引入,代表的含義是所有的組件和插件都會(huì)被自動(dòng)注冊(cè):
//main.ts
import { createApp } from 'vue';
import App from './App.vue';
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import router from './router'
import store from './store'
createApp(App).use(router).use(store).use(ElementPlus).mount('#app')2. 局部引入(按需引入)
也就是在開(kāi)發(fā)中用到某個(gè)組件對(duì)某個(gè)組件進(jìn)行引入:
2.1 手動(dòng)引入
<template>
<div id="app">
<el-row class="mb-4">
<el-button disabled>Default</el-button>
<el-button type="primary" disabled>Primary</el-button>
<el-button type="success" disabled>Success</el-button>
<el-button type="info" disabled>Info</el-button>
<el-button type="warning" disabled>Warning</el-button>
<el-button type="danger" disabled>Danger</el-button>
</el-row>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
import { ElButton } from 'element-plus'
export default defineComponent({
name: 'App',
components: {
ElButton
}
})
</script>
<style lang="less">
</style>但是我們會(huì)發(fā)現(xiàn)是沒(méi)有對(duì)應(yīng)的樣式的,引入樣式有兩種方式:
全局引用樣式;import 'element-plus/dist/index.css'
局部引用樣式(通過(guò) unplugin-element-plus 插件);
1.安裝插件:
npm install unplugin-element-plus -D
2.配置vue.config.js
const ElementPlus= require('unplugin-element-plus/webpack');
module.exports = {
configureWebpack: {
resolve: {
alias: {
components: '@/components'
}
},
//配置webpack自動(dòng)按需引入element-plus樣式,
plugins: [ElementPlus()]
}
};但是這里依然有個(gè)弊端:
- 這些組件我們?cè)诙鄠€(gè)頁(yè)面或者組件中使用的時(shí)候,都需要導(dǎo)入并且在components中進(jìn)行注冊(cè);
- 所以我們可以將它們?cè)?strong>全局注冊(cè)一次;
import {
ElButton,
ElTable,
ElAlert,
ElAside,
ElAutocomplete,
ElAvatar,
ElBacktop,
ElBadge,
} from 'element-plus'
const app = createApp(App)
const components = [
ElButton,
ElTable,
ElAlert,
ElAside,
ElAutocomplete,
ElAvatar,
ElBacktop,
ElBadge
]
for (const cpn of components) {
app.component(cpn.name, cpn)
}2.3 自動(dòng)導(dǎo)入組件以及樣式[推薦】
1.安裝插件:
npm install -D unplugin-vue-components unplugin-auto-import
2.配置vue.config.js(其他配置方式看官網(wǎng))
const AutoImport = require('unplugin-auto-import/webpack');
const Components = require('unplugin-vue-components/webpack');
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers');
module.exports = {
configureWebpack: {
resolve: {
alias: {
components: '@/components'
}
},
//配置webpack自動(dòng)按需引入element-plus,
plugins: [
AutoImport({
resolvers: [ElementPlusResolver()]
}),
Components({
resolvers: [ElementPlusResolver()]
})
]
}
};3 直接使用
<template>
<div id="app">
<el-row class="mb-4">
<el-button disabled>Default</el-button>
<el-button type="primary" disabled>Primary</el-button>
<el-button type="success" disabled>Success</el-button>
<el-button type="info" disabled>Info</el-button>
<el-button type="warning" disabled>Warning</el-button>
<el-button type="danger" disabled>Danger</el-button>
</el-row>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
})
</script>
<style lang="less">
</style>總結(jié)
到此這篇關(guān)于vue3集成Element-Plus之全局導(dǎo)入和按需導(dǎo)入的文章就介紹到這了,更多相關(guān)Element-Plus全局導(dǎo)入和按需導(dǎo)入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3使用vant檢索組件van-search遇到的問(wèn)題小結(jié)
當(dāng)清空按鈕與檢索按鈕同時(shí)居右時(shí),點(diǎn)擊clear清空按鈕事件時(shí)會(huì)同時(shí)觸發(fā)click-right-icon事件,這個(gè)時(shí)候容易觸發(fā)一系列問(wèn)題,小編小編給大家分享Vue3使用vant檢索組件van-search遇到的問(wèn)題小結(jié),感興趣的朋友一起看看吧2024-02-02
使用ExcelJS實(shí)現(xiàn)Excel數(shù)據(jù)報(bào)表導(dǎo)出的完整指南
這篇文章主要為大家詳細(xì)介紹了如何使用ExcelJS實(shí)現(xiàn)Excel數(shù)據(jù)報(bào)表導(dǎo)出的相關(guān)知識(shí),文中的示例代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-07-07
Vue3實(shí)現(xiàn)預(yù)覽PDF文件的多種方式(超簡(jiǎn)單)
在Vue項(xiàng)目中實(shí)現(xiàn)PDF文件預(yù)覽是許多開(kāi)發(fā)者可能會(huì)遇到的需求,尤其是在開(kāi)發(fā)海外后臺(tái)管理系統(tǒng)時(shí),由于某些用戶(hù)上傳的文件格式為PDF,而Vue本身并不直接支持PDF文件的預(yù)覽功能,這就需要借助一些第三方的插件或者工具來(lái)完成,下面詳細(xì)地介紹幾種在Vue3中實(shí)現(xiàn)PDF文件預(yù)覽的方法2025-03-03
elementUI中el-dropdown的command實(shí)現(xiàn)傳遞多個(gè)參數(shù)
這篇文章主要介紹了elementUI中el-dropdown的command實(shí)現(xiàn)傳遞多個(gè)參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
Vue 中 computed的設(shè)計(jì)動(dòng)機(jī)與底層實(shí)現(xiàn)原理解析
Vue的computed屬性是一個(gè)非常強(qiáng)大的功能,它不僅提高了代碼的可讀性和可維護(hù)性,還通過(guò)緩存機(jī)制優(yōu)化了性能,本文將詳細(xì)介紹Vue中 computed 的設(shè)計(jì)動(dòng)機(jī)以及其底層實(shí)現(xiàn)原理,感興趣的朋友跟隨小編一起看看吧2025-10-10
Vue3+TypeScript+printjs實(shí)現(xiàn)標(biāo)簽批量打印功能的完整過(guò)程
最近在做vue項(xiàng)目時(shí)使用到了print-js打印,這里給大家分享下,這篇文章主要給大家介紹了關(guān)于Vue3+TypeScript+printjs實(shí)現(xiàn)標(biāo)簽批量打印功能的完整過(guò)程,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
如何解決sass-loader和node-sass版本沖突的問(wèn)題
這篇文章主要介紹了如何解決sass-loader和node-sass版本沖突的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
Vue3+TypeScript+Vite使用require動(dòng)態(tài)引入圖片等靜態(tài)資源
本文主要介紹了Vue3+TypeScript+Vite使用require動(dòng)態(tài)引入圖片等靜態(tài)資源,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

