在 Vue3 + Vite 生態(tài)下,優(yōu)質的 npm 插件能大幅簡化開發(fā)流程、解決常見痛點、提升項目性能與交互體驗。本文整理了八大場景的實用插件,全部支持 Vue3 + TypeScript,開箱即用。
一、Vue3 核心生態(tài)(必裝)
1. Pinia — 狀態(tài)管理
替代 Vuex,Vue3 官方推薦,語法簡潔,無需 mutations。
npm install pinia
核心價值: 全局狀態(tài)共享,支持模塊化、熱更新。
2. Vue Router 4 — 路由管理
Vue3 專屬路由,支持動態(tài)路由、路由守衛(wèi)、懶加載。
npm install vue-router@4
3. @vueuse/core — 組合式工具集
上百個實用 Composition API 工具函數,無需重復造輪子。
npm install @vueuse/core
常用功能: 監(jiān)聽窗口大小、本地存儲、防抖節(jié)流、鼠標跟蹤、暗黑模式切換。
<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 |
高端企業(yè)級項目 |
| 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 |
強大的表單驗證,支持自定義規(guī)則 |
| @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 |
移動端滾動優(yōu)化,下拉刷新、上拉加載 |
六、可視化 & 圖表
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
路由切換、請求加載時顯示頂部進度條。
八、工程化 & 開發(fā)效率
| 庫名 | 命令 | 核心能力 |
|---|---|---|
| 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 |
| 性能優(yōu)化 | vite-plugin-compression + Vxe Table 虛擬滾動 |
| 開發(fā)提效 | unplugin 系列 + lodash-es |
速查表
| 場景 | 推薦插件 |
|---|---|
| 狀態(tài)管理 | 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 |