您好,登錄后才能下訂單哦!
這篇文章主要介紹了elementplus的自動導入和按需導入方式是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇elementplus的自動導入和按需導入方式是什么文章都會有所收獲,下面我們一起來看看吧。
element-plus根據官網文檔,推薦用戶采用按需導入的方式進行導入。
我的項目是使用vite進行構建的,根據官網的文檔,利用unplugin-vue-components
插件進行自動按需導入。
當我們使用element的標簽時,無需再使用import對組件進行導入。
例如:
<el-button>test</el-button>
會自動引入ElButton組件。
不過當我們想要使用命令的方式創建element組件時,樣式會無法自動引入。
我們以ElMessage為例。
import { ElMessage } from 'element-plus' ElMessage.warning('warning')
如果不采用import的方式引入,會直接報錯:ElMessage沒有定義。所以這個import是省不了了。但是import了之后,消息彈窗是出來了,但是卻沒有樣式。這該怎么辦呢?
仔細閱讀文檔,我們可以發現在手動導入里,使用了一個叫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, }), ] })
關于“elementplus的自動導入和按需導入方式是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“elementplus的自動導入和按需導入方式是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。