vue3+vite 项目中怎么引入 elementplus 组件库

一:完整引入

  • 安装:npm i element-plus --save
  • 步骤:main.js 中添加以下内容
js 复制代码
import { createApp } from 'vue'
import App from './App.vue'

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')

二:按需引入

  • 安装:npm i element-plus --save
  • 安装插件:npm install -D unplugin-vue-components unplugin-auto-import
  1. 在 vite.config.ts 中添加配置
ts 复制代码
// vite.config.ts
import { defineConfig } from 'vite'
// 引入
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
    // ...
    plugins: [
      	vue(),
    	// 按需引入组件的样式
        AutoImport({
            resolvers: [ElementPlusResolver()],
        }),
        Components({
            resolvers: [ElementPlusResolver()],
        }),
    ],
})
  1. src / plugins / element-plus.ts 配置按需引入组件
js 复制代码
import { ElButton, ElDialog } from "element-plus";
// 引入类型,加上 type
import type { App } from "vue"

const setupElementPlus = (app: App) => {
    app.use(ElButton)
    app.use(ElDialog)
}

export default setupElementPlus
  1. main.ts 导入该配置
js 复制代码
import setupElementPlus from './plugins/element-plus'
const app = createApp(App)
// 传入 app
setupElementPlus(app)
  1. App.vue 测试
js 复制代码
<el-button type="primary" :icon="Plus" @click="test">经典按钮</el-button>
<script lang="ts" setup>
import { Plus } from "@element-plus/icons-vue";
import { ElMessage } from "element-plus";
// 如果只是用组件 API,您需要手动导入样式
import "element-plus/es/components/message/style/css";

const test = () => {
    ElMessage.success("登陆成功");
};
</script>
相关推荐
啾咪orJIUMI25 分钟前
Vue 3 + 高德地图封装实战:点位、区域、Loca 流光与 Vue 信息窗体
前端·vue.js
掘金者阿豪27 分钟前
AI数据库不只是向量检索:从数据语义到库内智能计算的技术演进
前端
梦里寻码30 分钟前
我用 NestJS + Vue3 写了一套完整的研发管理系统(58 表 / 229 API / 130 项断言,全开源
前端·后端·算法
FRing0332 分钟前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
SameX42 分钟前
HarmonyOS ArkUI Dialog 复用 用 @CustomDialog + enum type 做多类型统一管理的做法
前端
AiMan1 小时前
豆包爱学还是不可以导出左侧所有对话,只能单容导出,方法不对吗
前端
无懈可击1 小时前
Vue 可视化AI表单设计器 FcDesigner v3.6 版本发布,支持导出 SQL功能!
vue.js·开源·ai编程
AiMan1 小时前
Grok生成的内容能否下载吗?
前端
徐小夕2 小时前
JitArchives,一款基于JitWord协同AI文档打造的企业级电子档案系统
前端·vue.js·github
陈随易2 小时前
Node.js 2026上半年都有哪些性能提升?
前端·后端·程序员