Vue3项目引用element-plus(2.3.14)报错 "ElementPlus is not defined"

416 阅读1分钟

按照官网安装Element-Plus

// main.ts
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'

const app = createApp(App)

app.use(ElementPlus)
app.mount('#app')

问题

main.ts中引用element-plus,项目已运行,且无报错。同时使用了按需引入的方式,<el-button>等组件均可以正常使用。但在浏览器中报错ElementPlus未定义

image.png

element-plus版本:2.3.14

原因

image.png npm run serve 运行时寻找依赖的位置是element-plus/lib/xx。实际上我们项目内引用的位置是element-plus/es/index

修改

// main.ts
import { createApp } from 'vue'
import ElementPlus from 'element-plus/es' // 只修改此处即可
import 'element-plus/dist/index.css'
import App from './App.vue'

const app = createApp(App)

app.use(ElementPlus)
app.mount('#app')

类似组件引用也需修改。例如:import { ElLoading } from 'element-plus/es';