element-plus的自動導入和按需導入方式詳解
element-plus根據官網文檔,推薦用戶采用按需導入的方式進行導入。
我的項目是使用vite進行構建的,根據官網的文檔,利用unplugin-vue-components插件進行自動按需導入。
當我們使用element的標簽時,無需再使用import對組件進行導入。
例如:
<el-button>test</el-button>
會自動引入ElButton組件。

不過當我們想要使用命令的方式創(chuàng)建element組件時,樣式會無法自動引入。
我們以ElMessage為例。
import { ElMessage } from 'element-plus'
ElMessage.warning('warning')
如果不采用import的方式引入,會直接報錯:ElMessage沒有定義。所以這個import是省不了了。但是import了之后,消息彈窗是出來了,但是卻沒有樣式。這該怎么辦呢?
仔細閱讀文檔,我們可以發(fā)現在手動導入里,使用了一個叫unplugin-element-plus的插件。該插件的官方文檔有詳細的使用說明,插件的主要功能如下:
import { ElButton } from 'element-plus'
// ↓ ↓ ↓ ↓ ↓ ↓
import { ElButton } from 'element-plus'
import 'element-plus/es/components/button/style/css'
我們可以看出,這個插件其實就是把你需要的組件的css或者sass文件自動引入進來,剛好彌補了上面的問題。
最后我們如下配置項目:
首先我們要安裝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的自動導入了。當然使用命令的組件還是需要你手動導入一下的。
補充:elementPlus圖標自動引入
首先安裝插件
npm i -D unplugin-icons unplugin-vue-components
下載圖標庫
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,
}),
]
})總結
到此這篇關于element-plus自動導入和按需導入的文章就介紹到這了,更多相關element-plus自動導入和按需導入內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
element-ui帶輸入建議的input框踩坑(輸入建議空白以及會閃出上一次的輸入建議問題)
這篇文章主要介紹了element-ui帶輸入建議的input框踩坑(輸入建議空白以及會閃出上一次的輸入建議問題),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
vue3新擬態(tài)組件庫開發(fā)流程之table組件源碼分析
這篇文章主要介紹了vue3新擬態(tài)組件庫開發(fā)流程——table組件源碼,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
element的el-date-picker組件實現只顯示年月日時分效果(不顯示秒)
最近遇到這樣的需求使用element的el-date-picker組件,只顯示時分,不顯示秒,下面小編給大家分享element的el-date-picker組件實現只顯示年月日時分效果,感興趣的朋友一起看看吧2024-08-08

