在 Vue3 + Vite 生态下,优质的 npm 插件能大幅简化开发流程、解决常见痛点、提升项目性能与交互体验。本文整理了八大场景的实用插件,全部支持 Vue3 + TypeScript,开箱即用。
一、Vue3 核心生态(必装)
1. Pinia — 状态管理
替代 Vuex,Vue3 官方推荐,语法简洁,无需 mutations。
npm install pinia
核心价值: 全局状态共享,支持模块化、热更新。
2. Vue Router 4 — 路由管理
Vue3 专属路由,支持动态路由、路由守卫、懒加载。
npm install vue-router@4
3. @vueuse/core — 组合式工具集
上百个实用 Composition API 工具函数,无需重复造轮子。
npm install @vueuse/core
常用功能: 监听窗口大小、本地存储、防抖节流、鼠标跟踪、暗黑模式切换。
<script setup>
import { useLocalStorage } from '@vueuse/core'
const token = useLocalStorage('token', '')
</script>
二、UI 组件库
| 库名 | 命令 | 适用场景 |
|---|---|---|
| Element Plus | npm install element-plus |
中后台管理系统,最成熟 |
| Ant Design Vue 3.x | npm install ant-design-vue |
高端企业级项目 |
| Naive UI | npm install naive-ui |
追求高颜值,TS 原生支持 |
三、网络请求 & 数据处理
7. Axios — HTTP 请求
npm install axios
支持拦截器、取消请求,统一管理接口。
8. qs — 参数序列化
npm install qs
import qs from 'qs'
axios.post('/api', qs.stringify({ username: 'test' }))
9. dayjs — 时间处理
替代 Moment.js,体积更小,API 一致。
npm install dayjs
import dayjs from 'dayjs'
dayjs().format('YYYY-MM-DD HH:mm:ss')
四、表单 & 表格
| 库名 | 命令 | 核心能力 |
|---|---|---|
| Vxe Table | npm install vxe-table |
虚拟滚动、合并单元格、导出 Excel、树形表格 |
| vee-validate | npm install vee-validate yup |
强大的表单验证,支持自定义规则 |
| @vueuse/form | npm install @vueuse/form |
轻量表单钩子,无 UI 依赖 |
五、交互 & 动画增强
| 库名 | 命令 | 核心能力 |
|---|---|---|
| animate.css | npm install animate.css |
开箱即用的入场/交互动画 |
| @vueuse/motion | npm install @vueuse/motion |
Vue3 动效,支持滚动动画、过渡效果 |
| better-scroll | npm install better-scroll |
移动端滚动优化,下拉刷新、上拉加载 |
六、可视化 & 图表
npm install echarts vue-echarts
| 库名 | 说明 |
|---|---|
| ECharts | 全场景图表(折线、柱状、地图、仪表盘等) |
| vue-echarts | ECharts 的 Vue3 封装,无需手动操作 DOM |
七、工具类
18. lodash-es — 模块化工具函数
npm install lodash-es
import { debounce, cloneDeep } from 'lodash-es'
const search = debounce(() => {}, 500)
const obj = cloneDeep({ a: 1 })
19. js-cookie — Cookie 操作
npm install js-cookie
20. nprogress — 加载进度条
npm install nprogress
路由切换、请求加载时显示顶部进度条。
八、工程化 & 开发效率
| 库名 | 命令 | 核心能力 |
|---|---|---|
| unplugin-auto-import | npm install -D unplugin-auto-import |
Vue3、Pinia、VueUse API 自动导入 |
| unplugin-vue-components | npm install -D unplugin-vue-components |
组件自动引入,无需手动 import |
| vite-plugin-compression | npm install -D vite-plugin-compression |
打包自动生成 gzip/brotli 压缩包 |
九、使用建议
| 场景 | 推荐组合 |
|---|---|
| 基础必备 | Pinia + Vue Router 4 + Axios + @vueuse/core + dayjs |
| 中后台 UI | Element Plus |
| 移动端 UI | Vant 4 |
| 高颜值 UI | Naive UI |
| 性能优化 | vite-plugin-compression + Vxe Table 虚拟滚动 |
| 开发提效 | unplugin 系列 + lodash-es |
速查表
| 场景 | 推荐插件 |
|---|---|
| 状态管理 | Pinia |
| 路由 | Vue Router 4 |
| HTTP 请求 | Axios |
| 时间处理 | dayjs |
| 工具函数 | lodash-es / @vueuse/core |
| UI 组件库 | Element Plus / Naive UI |
| 表格 | Vxe Table |
| 表单验证 | vee-validate |
| 图表 | ECharts + vue-echarts |
| 动画 | animate.css / @vueuse/motion |
| 自动导入 | unplugin-auto-import + unplugin-vue-components |
| 打包压缩 | vite-plugin-compression |