乐于分享
好东西不私藏

9 个 Vue 插件,让你的项目开发效率翻倍!

9 个 Vue 插件,让你的项目开发效率翻倍!

一个分享 技术 | 生活 | 社会科技经济 | 情感  的前端爱好者!(联系V: HC106888888)


Vue 的生态之所以强大,核心原因之一就是丰富的插件生态 —— 这些插件能帮我们跳过重复的基础开发,直接解决项目中的状态管理、路由、UI 开发、请求处理等高频需求,不管是 Vue2 还是 Vue3(含组合式 API),都有适配的成熟插件。
本文精选 9 个日常开发必备的 Vue 插件,涵盖基础核心、UI、网络、工具四大类,每一个都附上核心作用、安装命令、极简使用示例,新手也能快速上手,直接融入项目。

说明:文中默认 Vue3 项目(基于 Vite),Vue2 项目仅需微调安装命令 / 使用方式,会单独标注差异。

一、基础核心类:Vue 项目的 “骨架插件”

这类插件是绝大多数 Vue 项目的必备基础,解决路由、状态管理、跨组件通信等核心问题,是项目开发的前提。

1. vue-router:Vue 官方路由插件

核心作用:Vue 官方的路由管理器,实现单页应用(SPA)的页面跳转、路由守卫、动态路由、嵌套路由等核心功能,是 SPA 项目的标配。适配:Vue2 用vue-router@3,Vue3 用vue-router@4
安装
Vue3 + Vitenpm install vue-router@4 --save# Vue2npm install vue-router@3 --save

极简使用

(1)新建路由文件src/router/index.js:

import { createRouter, createWebHistory } from 'vue-router'// 引入页面组件import Home from '@/views/Home.vue'import About from '@/views/About.vue'const routes = [  { path'/'name'Home'componentHome },  { path'/about'name'About'componentAbout }]const router = createRouter({  historycreateWebHistory(), // Vue3推荐的history模式  routes})export default router

(2)全局注册(src/main.js):

import { createApp } from 'vue'import App from './App.vue'import router from './router'createApp(App).use(router).mount('#app')
(3)页面使用:
<!-- 跳转链接 --><router-linkto="/">首页</router-link><router-linkto="/about">关于我们</router-link><!-- 路由渲染容器 --><router-view></router-view>

2. Pinia:Vue 官方推荐状态管理库

核心作用:Vue3 官方替代 Vuex 的状态管理插件,解决跨组件 / 跨页面的数据共享问题,相比 Vuex 更轻量、语法更简洁,支持组合式 API,无需复杂的 mutations/actions,直接修改状态。适配:主打 Vue3,也可适配 Vue2(需额外配置)

安装

npm install pinia --save

极简使用

(1) 全局注册(src/main.js):

import { createApp } from 'vue'import App from './App.vue'import { createPinia } from 'pinia'const pinia = createPinia()createApp(App).use(pinia).mount('#app')
(2)新建仓库文件src/stores/counter.js:
import { defineStore } from 'pinia'// 定义并导出仓库,唯一标识为counterexport const useCounterStore = defineStore('counter', {  state() => ({ count0 }), // 状态数据  actions: {    // 方法修改状态(支持同步/异步)    increment() {      this.count++    }  },  getters: {    // 计算属性    doubleCount(state) => state.count * 2  }})
(3)组件中使用:
<template>  <div>{{ counter.count }} → {{ counter.doubleCount }}</div>  <button @click="counter.increment()">加1</button></template><scriptsetup>import { useCounterStore } from '@/stores/counter'const counter = useCounterStore()</script>

3. Vuex:经典状态管理(兼容 Vue2)

核心作用:Vue2 的官方状态管理库,若你的项目是Vue2 技术栈,首选 Vuex(Vue3 更推荐 Pinia),规范了状态的修改方式,支持模块化,适合中大型项目。适配:Vue2 用vuex@3,Vue3 用vuex@4(仅兼容,非推荐)

安装

Vue2npm install vuex@3 --save
极简使用:全局注册后,通过this.$store.state获取状态,this.$store.commit修改状态,模块化可拆分不同业务的仓库。

二、UI 组件类:快速搭建页面,告别重复写样式

UI 组件库是前端开发的效率利器,封装了按钮、表单、弹窗、表格等高频 UI 组件,支持按需引入,无需自己写 CSS/HTML,直接调用即可,以下精选 3 个适配 Vue 的主流 UI 库,覆盖通用、轻量、移动端三大场景。

4. Element Plus:Vue3 通用 PC 端 UI 库

核心作用:饿了么团队开发的 Vue3 PC 端 UI 组件库,是国内最主流的 Vue3 UI 库,组件丰富(近 100 个)、文档齐全、兼容性好,适合中后台管理系统、PC 端官网等项目。适配:Vue3(Vue2 对应 Element UI)

安装

完整安装npm install element-plus --save# 按需引入(推荐,减小打包体积):需安装unplugin-vue-componentsnpm install element-plus unplugin-vue-components --save

极简使用(完整引入,新手友好)

// src/main.jsimport { createApp } from 'vue'import App from './App.vue'import ElementPlus from 'element-plus'import 'element-plus/dist/index.css' // 引入样式createApp(App).use(ElementPlus).mount('#app')

组件中直接使用,无需单独引入:

<template>  <el-buttontype="primary">主要按钮</el-button>  <el-inputv-model="input"placeholder="请输入内容" /></template><scriptsetup>import { ref } from 'vue'const input = ref('')</script>

按需引入:配置 Vite 后,使用组件时无需手动引入和导入样式,插件会自动按需加载,适合生产环境。

5. Vant 4:Vue3 移动端 UI 库

核心作用:有赞团队开发的 Vue 移动端 UI 库,专为移动端优化,组件轻量、适配各种手机屏幕,支持按需引入、主题定制,是Vue 移动端项目的首选,适合电商、资讯、小程序等移动端场景。适配:Vue3 用 Vant4,Vue2 用 Vant2

安装

npm install vant --save按需引入插件npm install unplugin-vue-components unplugin-auto-import --save-dev

极简使用:配置 Vite 后可按需引入,直接使用组件:

<template>  <van-buttontype="primary">移动端按钮</van-button>  <van-celltitle="单元格"value="内容" /></template>

6. Naive UI:Vue3 高颜值轻量 UI 库

核心作用:一款高颜值的 Vue3 原生 UI 库,相比 Element Plus 更轻量,组件设计现代化,支持暗黑模式、按需引入,无需额外配置样式,适合追求 UI 颜值的 PC 端项目。适配:仅 Vue3

安装

npm install naive-ui --save

极简使用:组件需手动引入(按需加载更友好):

<template>  <n-buttontype="primary">Naive按钮</n-button></template><scriptsetup>import { NButton } from 'naive-ui'</script>

三、网络请求类:优雅处理接口请求

项目开发中高频的接口请求、请求拦截、响应拦截、错误处理等需求,无需原生fetch/axios重复封装,以下插件专为 Vue 适配,让请求处理更优雅。

7. vue-axios:Vue 适配的 Axios 插件

核心作用:将 Axios 封装为 Vue 插件,可全局注册并通过this.$axios/proxy.$axios调用,结合 Axios 本身的拦截器,轻松实现请求头添加 Token、响应错误统一处理、loading 加载等功能。适配:Vue2/Vue3 通用

安装

先安装axios,再安装vue-axiosnpm install axios vue-axios --save

极简使用

(1) 全局注册并封装(src/main.js):

import { createApp } from 'vue'import App from './App.vue'import axios from 'axios'import VueAxios from 'vue-axios'const app = createApp(App)app.use(VueAxios, axios)// 配置请求基准地址axios.defaults.baseURL = 'https://api.example.com'// 请求拦截器:添加Tokenaxios.interceptors.request.use(config => {  config.headers.token = localStorage.getItem('token') || ''  return config})// 响应拦截器:统一处理错误axios.interceptors.response.use(  res => res.data,  err => {    console.error('请求错误:', err.message)    return Promise.reject(err)  })app.mount('#app')

(2) 组件中使用:

<scriptsetup>import { getCurrentInstance } from 'vue'// Vue3组合式API中获取全局实例const { proxy } = getCurrentInstance()// 发起GET请求const getList = async () => {  const res = await proxy.$axios.get('/api/list')  console.log(res)}// 发起POST请求proxy.$axios.post('/api/add', { name'Vue插件' })</script>

8. VueUse:Vue 官方工具集(含网络 / 工具等能力)

核心作用:不是单一插件,而是 Vue 的官方工具函数集,封装了近 200 个高频开发需求的工具,包括网络请求、本地存储、防抖节流、DOM 操作、时间处理等,支持组合式 API,按需引入,体积极小。适配:Vue2/Vue3 通用(Vue2 需安装@vue/composition-api)

安装

npm install @vueuse/core --save
极简使用(网络请求 + 本地存储示例)
<template>  <div>{{ data }}</div></template><scriptsetup>import { useFetch } from '@vueuse/core'import { useLocalStorage } from '@vueuse/core'// 网络请求:替代axios简单请求,自动处理加载/错误const { data, isLoading, error } = useFetch('https://api.example.com/api/list').get()// 本地存储:自动序列化/反序列化,响应式更新const userInfo = useLocalStorage('userInfo', { name'Vue'age3 })userInfo.value.age = 4 // 直接修改,localStorage自动更新</script>

四、工具辅助类:解决高频小需求,提升开发体验

9. vue-ls:Vue 适配的本地存储插件

核心作用:专门为 Vue 封装的localStorage/sessionStorage插件,解决原生本地存储需要手动JSON.stringify/JSON.parse的问题,支持过期时间、命名空间,全局注册后可通过this.$ls调用,响应式适配 Vue。适配:Vue2/Vue3 通用

安装

npm install vue-ls --save

极简使用

(1)全局注册(src/main.js):
import { createApp } from 'vue'import App from './App.vue'import Storage from 'vue-ls'// 配置项const options = {  namespace'vue_'// 本地存储key的命名空间  storage'local' // 存储类型:local/session}createApp(App).use(Storage, options).mount('#app')
(2)组件中使用:
<scriptsetup>import { getCurrentInstance } from 'vue'const { proxy } = getCurrentInstance()// 设置存储:key, value, 过期时间(秒)proxy.$ls.set('name''Vue插件'60 * 60)// 获取存储console.log(proxy.$ls.get('name'))// 删除存储proxy.$ls.remove('name')// 清空所有本命名空间的存储proxy.$ls.clear()</script>

五、插件使用小技巧(新手必看)

按需引入:除了基础核心插件,UI 库、工具库尽量按需引入(如 Element Plus、Vant),可大幅减小项目打包体积,提升页面加载速度;

版本匹配:Vue2 和 Vue3 的插件版本差异较大,安装前务必确认插件适配的 Vue 版本,避免出现兼容问题;

全局注册 vs 局部引入:核心插件(vue-router、Pinia)全局注册,单个组件的专用工具(如 VueUse 的某个函数)局部引入,保持项目结构清晰;

封装二次开发:网络请求、本地存储等插件,建议在全局注册时做二次封装(如统一请求头、统一存储命名),避免每个组件重复写相同逻辑。

总结

本文精选的 9 个 Vue 插件,覆盖了项目开发的全流程需求,从基础的路由 / 状态管理,到 UI 快速开发,再到网络请求 / 本地存储等工具辅助,每一个都是经过社区验证的成熟插件,能帮你跳过重复的基础开发,将精力聚焦在业务逻辑上。
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 9 个 Vue 插件,让你的项目开发效率翻倍!

评论 抢沙发

7 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮