element-plus按需引入后ElMessage與ElLoading在頁(yè)面中的使用
element-plus按需引入后ElMessage與ElLoading在頁(yè)面使用
按照官網(wǎng)按需引用element-plus
pnpm install element-plus pnpm add -D unplugin-vue-components unplugin-auto-import
// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default {
? plugins: [
? ? // ...
? ? AutoImport({
? ? ? resolvers: [ElementPlusResolver()],
? ? }),
? ? Components({
? ? ? resolvers: [ElementPlusResolver()],
? ? }),
? ],
}ElMessage與ElLoading使用問(wèn)題
<script setup lang="ts">
? const testMessage = () => {
? ? ElMessage.success('1211')
? }
</script><template> ? <div> ? ? <el-button type="primary" @click="testMessage">Primary</el-button> ? </div> </template>
此時(shí)ElMessage與ElLoading也是可用,當(dāng)時(shí)vscode有會(huì)報(bào)錯(cuò)提示-----------》找不到名稱“ElMessage”。ts(2304),我在tsconfig.json添加了配置依舊報(bào)錯(cuò)
解決找不到名稱“ElMessage”報(bào)錯(cuò)
1.手動(dòng)引入ElMessage
<script setup lang="ts">
? // 手動(dòng)引入
? import { ElMessage } from 'element-plus'
? const testMessage = () => {
? ? ElMessage.success('1211')
? }
</script><template> ? <div class="bg-light-900 flex justify-center"> ? ? <el-button type="primary" @click="testMessage">Primary</el-button> ? ? <Test /> ? </div> </template>
2.在main.ts中引入對(duì)應(yīng)樣式
// 引入Elmessage和Elloading的css樣式文件 import 'element-plus/theme-chalk/el-loading.css' import 'element-plus/theme-chalk/el-message.css'
3.ElLoading同理
雖然在main.ts中引入可以解決
但背離了我們自動(dòng)導(dǎo)入的初衷,所以推薦下面這種方式
pnpm add vite-plugin-style-import consola -D
// vite.config.ts
import {
? createStyleImportPlugin,
? ElementPlusResolve,
} from 'vite-plugin-style-import'
export default {
? plugins: [
? ? // ...
? ? createStyleImportPlugin({
? ? ? resolves: [ElementPlusResolve()],
? ? ? libs: [
? ? ? ? {
? ? ? ? ? libraryName: 'element-plus',
? ? ? ? ? esModule: true,
? ? ? ? ? resolveStyle: (name: string) => {
? ? ? ? ? ? return `element-plus/theme-chalk/${name}.css`
? ? ? ? ? },
? ? ? ? },
? ? ? ]
? ? }),
? ],
}這樣配置后 我們就不用在mian.js中手動(dòng)導(dǎo)入ElMessage與ElLoading的樣式了
從element-plus引入ElLoading和ILoadingInstance出現(xiàn)錯(cuò)誤

因?yàn)閑lement-plus更新頻率很高,所以路徑也有改變,可以試一下我下面的這個(gè)引用路徑
找了一早上的bug終于解決了

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3中使用defineCustomElement 定義組件詳解
這篇文章主要為大家介紹了Vue3中使用defineCustomElement 定義組件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
vue中props賦值給data出現(xiàn)的問(wèn)題及解決
這篇文章主要介紹了vue中props賦值給data出現(xiàn)的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
基于vue3&element-plus的暗黑模式實(shí)例詳解
實(shí)現(xiàn)暗黑主題的方式有很多種,也有很多成型的框架可以直接使用,下面這篇文章主要給大家介紹了關(guān)于基于vue3&element-plus的暗黑模式的相關(guān)資料,需要的朋友可以參考下2022-12-12
Vue3?pinia管理數(shù)據(jù)的3種方式代碼
在Vue3中Pinia是一個(gè)狀態(tài)管理庫(kù),它提供了一種簡(jiǎn)單而強(qiáng)大的方式來(lái)管理應(yīng)用程序的狀態(tài),這篇文章主要給大家介紹了關(guān)于Vue3?pinia管理數(shù)據(jù)的3種方式,需要的朋友可以參考下2024-04-04
vue短信驗(yàn)證性能優(yōu)化如何寫入localstorage中
這篇文章主要介紹了vue短信驗(yàn)證性能優(yōu)化寫入localstorage中的方法,解決這個(gè)問(wèn)題需要把時(shí)間都寫到localstorage里面去,具體解決方法大家參考下本文2018-04-04

