element-plus的自動(dòng)導(dǎo)入和按需導(dǎo)入方式詳解
element-plus根據(jù)官網(wǎng)文檔,推薦用戶采用按需導(dǎo)入的方式進(jìn)行導(dǎo)入。
我的項(xiàng)目是使用vite進(jìn)行構(gòu)建的,根據(jù)官網(wǎng)的文檔,利用unplugin-vue-components插件進(jìn)行自動(dòng)按需導(dǎo)入。
當(dāng)我們使用element的標(biāo)簽時(shí),無需再使用import對(duì)組件進(jìn)行導(dǎo)入。
例如:
<el-button>test</el-button>
會(huì)自動(dòng)引入ElButton組件。

不過當(dāng)我們想要使用命令的方式創(chuàng)建element組件時(shí),樣式會(huì)無法自動(dòng)引入。
我們以ElMessage為例。
import { ElMessage } from 'element-plus'
ElMessage.warning('warning')
如果不采用import的方式引入,會(huì)直接報(bào)錯(cuò):ElMessage沒有定義。所以這個(gè)import是省不了了。但是import了之后,消息彈窗是出來了,但是卻沒有樣式。這該怎么辦呢?
仔細(xì)閱讀文檔,我們可以發(fā)現(xiàn)在手動(dòng)導(dǎo)入里,使用了一個(gè)叫unplugin-element-plus的插件。該插件的官方文檔有詳細(xì)的使用說明,插件的主要功能如下:
import { ElButton } from 'element-plus'
// ↓ ↓ ↓ ↓ ↓ ↓
import { ElButton } from 'element-plus'
import 'element-plus/es/components/button/style/css'
我們可以看出,這個(gè)插件其實(shí)就是把你需要的組件的css或者sass文件自動(dòng)引入進(jìn)來,剛好彌補(bǔ)了上面的問題。
最后我們?nèi)缦屡渲庙?xiàng)目:
首先我們要安裝unplugin-vue-components和unplugin-element-plus。
npm i unplugin-vue-components unplugin-element-plus -D
之后配置一下vite.config.js文件。
import ElementPlus from 'unplugin-element-plus/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
plugins: [
ElementPlus({
importStyle: 'sass',
useSource: true
}),
Components({
resolvers: [ElementPlusResolver()]
})
]
})
這樣配置之后,我們就可以享用element-plus的自動(dòng)導(dǎo)入了。當(dāng)然使用命令的組件還是需要你手動(dòng)導(dǎo)入一下的。
補(bǔ)充:elementPlus圖標(biāo)自動(dòng)引入
首先安裝插件
npm i -D unplugin-icons unplugin-vue-components
下載圖標(biāo)庫
npm i @element-plus/icons-vue
配置vite.config.js
import path from 'path'
import {
defineConfig
} from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
import {
ElementPlusResolver
} from 'unplugin-vue-components/resolvers'
const pathSrc = path.resolve(__dirname, 'src')
export default defineConfig({
esolve: {
alias: {
'@': pathSrc,
},
},
plugins: [
vue(),
AutoImport({
resolvers: [
ElementPlusResolver(),
IconsResolver({
prefix: 'Icon',
}),
],
dts: path.resolve(pathSrc, 'auto-imports.d.ts'),
}),
Components({
resolvers: [
ElementPlusResolver(),
IconsResolver({
enabledCollections: ['ep'],
})
],
dts: path.resolve(pathSrc, 'components.d.ts'),
}),
Icons({
autoInstall: true,
}),
]
})總結(jié)
到此這篇關(guān)于element-plus自動(dòng)導(dǎo)入和按需導(dǎo)入的文章就介紹到這了,更多相關(guān)element-plus自動(dòng)導(dǎo)入和按需導(dǎo)入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue.js模版插值的原理與實(shí)現(xiàn)方法簡(jiǎn)析
這篇文章主要介紹了vue.js模版插值的原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式簡(jiǎn)單分析了vue.js模板插值的基本功能、原理、實(shí)現(xiàn)方法與注意事項(xiàng),需要的朋友可以參考下2023-04-04
element-ui帶輸入建議的input框踩坑(輸入建議空白以及會(huì)閃出上一次的輸入建議問題)
這篇文章主要介紹了element-ui帶輸入建議的input框踩坑(輸入建議空白以及會(huì)閃出上一次的輸入建議問題),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
詳解Vue.js iview實(shí)現(xiàn)樹形權(quán)限表(可擴(kuò)展表)
這篇文章主要介紹了詳解Vue.js iview實(shí)現(xiàn)樹形權(quán)限表(可擴(kuò)展表),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
vue實(shí)現(xiàn)虛擬列表組件解決長(zhǎng)列表性能問題
這篇文章主要介紹了在vue中實(shí)現(xiàn)虛擬列表組件,解決長(zhǎng)列表性能問題,本文給大家分享實(shí)現(xiàn)思路及實(shí)例代碼,需要的朋友可以參考下2022-07-07
vue3新擬態(tài)組件庫開發(fā)流程之table組件源碼分析
這篇文章主要介紹了vue3新擬態(tài)組件庫開發(fā)流程——table組件源碼,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
vue2.0中g(shù)oods選購(gòu)欄滾動(dòng)算法的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue2.0中g(shù)oods選購(gòu)欄滾動(dòng)算法的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-05-05
element的el-date-picker組件實(shí)現(xiàn)只顯示年月日時(shí)分效果(不顯示秒)
最近遇到這樣的需求使用element的el-date-picker組件,只顯示時(shí)分,不顯示秒,下面小編給大家分享element的el-date-picker組件實(shí)現(xiàn)只顯示年月日時(shí)分效果,感興趣的朋友一起看看吧2024-08-08

