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>
相关推荐
深圳市益普科技有限公司23 分钟前
半导体CIM数据底座:四步把多厂数据拉通
前端
乐迪绘防伪油墨技术分享1 小时前
特种功能油墨选型指南:温变 / 遇水 / 荧光 / UV LED 技术对比与供应商参考
前端·html·uv
cll_8692418911 小时前
WordPress Single Post 文章页美化:响应式表格、图片优化与自动悬浮 Table of Contents(CSS + JS)
前端·css
爱勇宝2 小时前
用了一个月 WorkBuddy,聊聊我的真实感受
前端·后端·程序员
愛芳芳2 小时前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue
你别说话了2 小时前
Vue实现高效拖拽效果 vue-Draggable
前端·vue.js
万物智能2 小时前
PWM散热风扇设置—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
前端·后端·算法
前端柱子2 小时前
q-floodfill白边锯齿?一招搞定抗锯齿边缘问题
前端
阿虎儿2 小时前
我的 HTML 样板(HTML Boilerplate)
前端·html
Amos_Web3 小时前
Rspack 源码解析(八):Module、Chunk 与 Runtime ID
前端·rust·源码阅读