Vue3+tyepescript+ElementPlus+Axios前端技术栈

目录

[Vue3 + Element Plus + Axios 技术栈介绍](#Vue3 + Element Plus + Axios 技术栈介绍)

[在项目中配置 Element Plus](#在项目中配置 Element Plus)

方式一:完整引入(简单但体积较大)

方式二:按需引入(推荐,减小打包体积)

[使用 Element Plus 组件](#使用 Element Plus 组件)


Vue3 + Element Plus + Axios 技术栈介绍

Vue3

  • 最新的 Vue.js 版本,用于构建用户界面的渐进式JavaScript框架
  • 使用 Composition API 和响应式系统管理组件状态
  • 支持 TypeScript,具有更好的性能和更小的包体积

Element Plus

  • 为 Vue3 设计的桌面端组件库
  • 提供丰富的 UI 组件,如表格、表单、对话框、按钮等
  • 支持按需引入,减少打包体积

Axios

  • 基于 Promise 的 HTTP 客户端
  • 可用于浏览器和 Node.js 中发送 HTTP 请求
  • 支持请求拦截、响应拦截等功能

一、ElementPlus

Dialog 对话框 | Element Plus

cpp 复制代码
# 安装 Element Plus

npm install element-plus

# 如果需要使用 TypeScript 类型定义(推荐)
npm install @element-plus/icons-vue

在项目中配置 Element Plus

方式一:完整引入(简单但体积较大)

cpp 复制代码
// main.js 或 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')

方式二:按需引入(推荐,减小打包体积)

cpp 复制代码
首先安装 babel 插件:

npm install -D unplugin-vue-components unplugin-auto-import

在 Vite 配置中添加插件(vite.config.js):

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 { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})
  1. 在 main.js 中无需手动引入组件:
javascript 复制代码
// main.js
import { createApp } from 'vue'
import App from './App.vue'

// 无需引入 ElementPlus 和 CSS
const app = createApp(App)
app.mount('#app')

使用 Element Plus 组件

安装配置完成后,您就可以在 Vue 组件中直接使用 Element Plus 组件了:

javascript 复制代码
<template>
  <div>
    <el-button type="primary">主要按钮</el-button>
    <el-table :data="tableData">
      <el-table-column prop="name" label="名称"></el-table-column>
    </el-table>
  </div>
</template>

<script setup>
const tableData = [
  { name: '设备1' },
  { name: '设备2' }
]
</script>
相关推荐
Lvan的前端笔记几秒前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
三天不学习28 分钟前
Egg.js 4 突然爆火,原因是否归结于AI 原生落地需求爆发?
前端·javascript·全栈·egg.js
xcs194051 小时前
前端 vue 的前端页面debugger 进不去
前端·javascript·vue.js
明月_清风2 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
Csvn3 小时前
框架性能优化
前端
回眸&啤酒鸭5 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户69371750013845 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员5 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端
小兔子5 小时前
Python 的 GIL 与 free-threading:3.13 之后「去 GIL」走到哪一步了
前端
IT_陈寒5 小时前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端