前端 vue 第三方工具包詳解-小白版

恭喜你邁入Vue世界!😄 對于前端小白,掌握這些常用第三方包能極大提升開發效率和項目質量。以下是Vue生態中必備的第三方包及小白友好式用法解析:


🧱 一、基礎工具包(每個項目必裝)

1. Vue Router - 路由管理

npm install vue-router@4

功能:實現頁面跳轉、嵌套路由、路由守衛
用法

// router/index.js
import { createRouter, createWebHistory } from 'vue-router'const routes = [{ path: '/', component: () => import('@/views/Home.vue'), // 懶加載children: [{ path: 'detail', component: Detail } // 嵌套路由]},{ path: '/login', component: Login }
]const router = createRouter({history: createWebHistory(),routes
})// 使用路由守衛(如登錄驗證)
router.beforeEach((to, from) => {if (to.path === '/admin' && !isLoggedIn) return '/login'
})

2. Pinia - 狀態管理(比Vuex更簡單!)

npm install pinia

功能:跨組件共享數據(如用戶信息、全局配置)
用法

// stores/user.js
import { defineStore } from 'pinia'export const useUserStore = defineStore('user', {state: () => ({ name: '張三', age: 25 }),actions: {updateName(newName) {this.name = newName // 修改狀態}},getters: {userInfo: (state) => `姓名:${state.name},年齡:${state.age}`}
})// 組件中使用
<script setup>
import { useUserStore } from '@/stores/user'const user = useUserStore()
</script><template><h1>{{ user.name }}</h1><button @click="user.updateName('李四')">改名</button><p>{{ user.userInfo }}</p>
</template>

🌈 二、UI組件庫(選其一即可)

1. Element Plus (阿里出品)

npm install element-plus

特點:組件豐富、中文文檔清晰
用法

<template><el-button type="primary">主要按鈕</el-button><el-input v-model="inputVal" placeholder="請輸入"/>
</template><script setup>
import { ElButton, ElInput } from 'element-plus'
import 'element-plus/dist/index.css'
</script>

2. Ant Design Vue (螞蟻金服)

npm install ant-design-vue@4

特點:企業級設計規范,專業感強


🛠? 三、實用工具包

1. Axios - HTTP請求庫

npm install axios

用法

// utils/request.js
import axios from 'axios'
const service = axios.create({baseURL: '/api', // 接口前綴timeout: 5000    // 超時時間
})// 組件中使用
service.get('/user/list').then(res => {console.log(res.data)
})

2. Day.js - 日期處理(輕量版Moment.js)

npm install dayjs

用法

import dayjs from 'dayjs'dayjs().format('YYYY-MM-DD') // 2023-07-28
dayjs().add(1, 'month')      // 加1個月

3. Lodash - 工具函數庫

npm install lodash

常用函數

import { cloneDeep, debounce } from 'lodash'// 深拷貝對象
const newObj = cloneDeep(oldObj)// 防抖(搜索框常用)
input.oninput = debounce(() => {searchAPI(input.value)
}, 500)

🚀 四、開發輔助包

1. Vite - 極速構建工具

# 創建Vue項目
npm create vite@latest my-project -- --template vue

優勢:比Webpack快10倍以上!支持熱更新

2. ESLint + Prettier - 代碼規范

npm install eslint eslint-plugin-vue prettier -D

.eslintrc.js配置:

module.exports = {extends: ['plugin:vue/vue3-recommended', 'prettier'],rules: {'vue/multi-word-component-names': 'off' // 允許單文件組件名}
}

3. VueUse - 常用功能hooks

npm install @vueuse/core

開箱即用的組合式函數

<script setup>
import { useMouse, useLocalStorage } from '@vueuse/core'// 跟蹤鼠標位置
const { x, y } = useMouse()// 本地存儲
const theme = useLocalStorage('theme', 'light')
</script>

📊 五、可視化 & 圖表

1. ECharts - 專業圖表庫

npm install echarts

用法

<template><div ref="chartDom" style="height:400px"></div>
</template><script setup>
import * as echarts from 'echarts'
import { onMounted, ref } from 'vue'const chartDom = ref(null)onMounted(() => {const chart = echarts.init(chartDom.value)chart.setOption({tooltip: {},xAxis: { data: ['A', 'B', 'C'] },yAxis: {},series: [{ data: [10, 22, 18], type: 'bar' }]})
})
</script>

🧪 六、測試工具

1. Vitest - 單元測試

npm install vitest @vue/test-utils -D

測試用例示例

// Counter.spec.js
import { mount } from '@vue/test-utils'
import Counter from './Counter.vue'test('increments counter', async () => {const wrapper = mount(Counter)await wrapper.find('button').trigger('click')expect(wrapper.text()).toContain('Count: 1')
})

💡 小白學習路線建議:

  1. 先掌握基礎三件套:Vue Router + Pinia + Axios
  2. 選一個UI庫:Element Plus 或 Ant Design Vue
  3. 工具包按需學習:Day.js(日期) > Lodash(工具) > ECharts(圖表)
  4. 搭建項目腳手架:用Vite創建工程,并配置ESLint
  5. 進階學習:VueUse >> 測試工具

? 終極提示: 每個包的官方文檔是最好的學習資源,遇到問題優先查看GitHub issues和官方示例
?? 避免盲目安裝:先用原生方法實現,發現痛點再用第三方包解決!

在這里插入圖片描述

這些工具組合起來,就能構建出高性能、易維護的現代Vue應用!接下來動手創建你的第一個Vue項目試試吧~ ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91380.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91380.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91380.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決mac下git pull、push需要輸入密碼

解決方法&#xff1a; 1.強制配置 SSH 自動加載鑰匙串 編輯 SSH 配置文件 vi ~/.ssh/configHost *AddKeysToAgent yes # 自動將密鑰添加到 ssh-agentUseKeychain yes # 明確使用鑰匙串存儲密碼IdentityFile ~/.ssh/id_rsa # 替換為你的私鑰路徑2.修復 Sh…

內存網格、KV存儲和Redis的概念、使用場景及異同

基本概念 內存網格 (In-Memory Data Grid - IMDG) 內存網格是一種分布式內存數據存儲技術&#xff0c;具有以下特點&#xff1a;分布式架構 數據跨多個服務器節點分布存儲提供線性擴展能力內存優先 主要數據存儲在內存中&#xff0c;提供微秒級訪問延遲支持持久化作為備份企業級…

【C++算法】87.BFS解決最短路徑問題_為高爾夫比賽砍樹

文章目錄題目鏈接&#xff1a;題目描述&#xff1a;解法C 算法代碼&#xff1a;題目鏈接&#xff1a; 675. 為高爾夫比賽砍樹 題目描述&#xff1a; 解法 注意&#xff1a;砍樹要從低到高砍。 砍掉1&#xff0c;從1到5到2 砍掉2&#xff0c;從2到5到3 砍掉3&#xff0c;從3到5…

JavaScript內存管理完全指南:從入門到精通

文章目錄JavaScript內存管理完全指南&#xff1a;從入門到精通1. 哪些數據類型屬于引用類型&#xff08;復雜數據類型&#xff09;&#xff1f;2. 為什么引用類型要存儲在堆中&#xff1f;3. 引用類型的內存存儲示例示例 1&#xff1a;對象&#xff08;Object&#xff09;示例 …

Linux網絡-------3.應?層協議HTTP

1.HTTP協議 雖然我們說,應?層協議是我們程序猿??定的.但實際上,已經有?佬們定義了?些現成的,??常好?的應?層協議,供我們直接參考使?.HTTP(超?本傳輸協議)就是其中之?。 在互聯?世界中&#xff0c;HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超?本…

05 GWAS表型數據處理原理

表型數據處理 ? 質量性狀 – 二分類&#xff1a;可用0 / 1, 1 / 2 數值表示 – 多分類&#xff1a;啞變量賦值&#xff0c;0/1 ? 數量性狀 – 盡量符合正太分布 – 剔除異常表型值樣本 – 多年多點重復觀測 – 對于閾值性狀&#xff0c;分級數量化或啞變量賦值 R中 shapiro.t…

【Cpolar實現內網穿透】

Cpolar實現內網穿透業務需求第一步&#xff1a;準備工作1、關閉安全軟件2、下載所需軟件第二步&#xff1a;Nginx的配置第三步&#xff1a;使用cpolar實現內網穿透1、進入 https://dashboard.cpolar.com/get-started 注冊&#xff0c;登錄&#xff0c;完成身份證的實名認證2、下…

基于 JavaWeb+MySQL 的學院黨費繳費系統

基于 JavaWeb 的學院黨費繳費系統第 1 章緒論1.1 項目背景當今互聯網發展及其迅速&#xff0c;互聯網的便利性已經遍及到各行各業&#xff0c;惠及到每一個人&#xff0c;傳統的繳費方式都需要每個人前往繳費點陸續排隊繳費&#xff0c;不僅浪費大量了個人時間&#xff0c;而且…

LCGL基本使用

LVGC簡介 light video Graphics Library (1)純c與語言編程,將面向對象的思想植入c語言。 (2)輕量化圖形庫資源,人機交互效果好,在(ios Android QT)移植性較好,但是這些平臺對硬件要求較高 lcgc工程搭建 工程源碼的獲取 獲取工程結構 https://github.com/lvgl/lv_po…

嵌入式第十六課!!!結構體與共用體

一、結構體結構體是一種數據類型&#xff0c;它的形式是這樣的&#xff1a;struct 結構體名{ 結構體成員語句1&#xff1b;結構體成員語句2&#xff1b;結構體成員語句3&#xff1b;}&#xff1b;舉個例子&#xff1a;struct Student {int id;char name[20];float score…

java web 實現簡單下載功能

java web 實現簡單下載功能 項目結構├── src\ │ ├── a.txt │ └── com\ │ └── demo\ │ └── web\ │ ├── Cookie\ │ ├── download\ │ ├── homework\ │ ├── serv…

虛幻基礎:模型穿模

能幫到你的話&#xff0c;就給個贊吧 &#x1f618; 文章目錄模型穿模模型之間的阻擋是否正確設置模型是角色的組件&#xff1a;角色的組件不會與場景中其他的物體發生阻擋但可以發生重疊模型穿模 模型之間的阻擋是否正確設置 模型是角色的組件&#xff1a;角色的組件不會與場…

【Linux】linux基礎開發工具(二) 編譯器gcc/g++、動靜態庫感性認識、自動化構建-make/Makefile

文章目錄一、gcc/g介紹二、gcc編譯選項預處理編譯匯編鏈接三個細節三、動靜態庫感性認識動靜態庫的優缺點四、自動化構建-make/Makefile背景知識初步上手Makefilemakefile的推導過程makefile語法一、gcc/g介紹 我們之前介紹了編輯器vim&#xff0c;可以讓我們在linux上linux系統…

CentOS 7 上使用 Docker 安裝 Jenkins 完整教程

目錄 前言 準備工作 系統要求 檢查系統信息 更新系統 安裝Docker 第一步:卸載舊版本Docker(如果存在) 第二步:安裝必要的軟件包 第三步:添加Docker官方倉庫 第四步:安裝Docker CE 第五步:啟動Docker服務 第六步:驗證Docker安裝 第七步:配置Docker用戶權限…

30.【.NET8 實戰--孢子記賬--從單體到微服務--轉向微服務】--單體轉微服務--公共代碼--用戶上下文會話

在前面的文章中&#xff0c;我們會看到使用ContextSession來獲取當前用戶的UserId和UserName。這篇文章我們就一起來看看如何實現ContextSession。 一、ContextSession的實現 我們在公共類庫SP.Common中創建一個名為ContextSession的類&#xff0c;用于獲取當前請求的用戶信息。…

BaseDao

#### 10.1 DAO概念> DAO&#xff1a;Data Access Object&#xff0c;數據訪問對象。 > > Java是面向對象語言&#xff0c;數據在Java中通常以對象的形式存在。一張表對應一個實體類&#xff0c;一張表的操作對應一個DAO對象&#xff01;>> 在Java操作數據庫時&a…

USRP捕獲手機/路由器數據傳輸信號波形(中)

目錄&#xff1a; USRP捕獲手機/路由器數據傳輸信號波形&#xff08;上&#xff09; USRP捕獲手機/路由器數據傳輸信號波形&#xff08;中&#xff09; USRP捕獲手機/路由器數據傳輸信號波形&#xff08;下&#xff09; 三、雙工通信信號捕獲 3.1 信號接收系統 5805e6Hz&a…

使用 Kiro AI IDE 3小時實現全棧應用Admin系統

Hello&#xff0c; 大家好&#xff0c;我是程序員海軍, 全棧開發 |AI愛好者 &#xff5c; 獨立開發。 之前我是采用Node生態開發的大模型以及MCP Server,大模型開發的生態主要是Python語言&#xff0c;為了更好的學習大模型開發&#xff0c;于是開了新坑。開始學習Python, 以及…

瀏覽器pdf、image顯示

瀏覽器地址欄 pdf data:application/pdf;base64, data:application/pdf;base64,JVBERi0xLjcKJeLjz9MKMjMgMCBvYmoKPDwv image data:image/jpeg;base64, data:image/jpeg;base64,/9j/4Q3fRXhpZgAATU0AKgAAAAgABwE

《Linux運維總結:銀河麒麟V10 SP3啟動docker容器報錯permission denied》

總結&#xff1a;整理不易&#xff0c;如果對你有幫助&#xff0c;可否點贊關注一下&#xff1f; 更多詳細內容請參考&#xff1a;Linux運維實戰總結 一、環境信息 二、背景 1、使用docker啟動一個nginx容器&#xff0c;報錯信息如下&#xff1a; docker: Error response from…