快速入門Vue3——初體驗

目錄

前言

一、搭建環境

1.1、安裝Node.js

1.2、安裝Vite

二、項目創建

三、運行項目

四、集成Pinia

4.1、Pinia介紹

4.2、Pinia安裝

五、集成VueUse

5.1、vueuse簡介

5.2、vueuse安裝

六、集成Vant

6.1、Vant簡介

6.2、Vant安裝

前言

本專欄主要介紹如何使用Vue3+Vite+TS+Pinia+VueUse+Vant的技術棧來入門前端開發,由于今天是第一篇,咱們來點輕松的內容——搭建開發環境。

Vue3是一款前端開發框架,關于Vue3的學習可以參考文檔:Vue3文檔

Vite是一種前端構建工具,關于Vite的學習可以參考文檔:Vite文檔

TypeScript是一種編程語言,它是JavaScript的一個超集,學習TS可以參考:TypeScript文檔

一、搭建環境

1.1、安裝Node.js

首先,你需要安裝node.js,可以直接去官網下載:Node.js,根據自己所需的平臺按需下載:

如果你是Mac平臺,可以通過HomeBrew這個工具安裝,非常方便。安裝完了之后,可以通過以下命令查看node和npm的版本:

接著可以通過以下命令切換一下npm默認的源:

// 切換
npm config set registry https://registry.npmmirror.com
// 查看
npm config get registry

1.2、安裝Vite

安裝Vite可以參考官網的安裝說明:https://cn.vitejs.dev/guide/

下面咱們通過手動安裝的形式來操作,通過以下命令進行安裝:

// 安裝
npm install -g vite
npm install create-vite -g
// 查看
npm list -g

二、項目創建

上面的環境搭建好之后,咱們繼續來創建一個項目試試水。

首先進入到你想要創建項目的目錄下,然后使用npm init vite或者create-vite命令創建項目:

接著會出現一步一步的指令,我們只需要根據指令提示進行相應的操作即可,比如這里會讓你輸入項目名Project name、Package name,讓你選擇一個前端框架,讓你選擇一種開發語言等等,之后工具會自動創建項目直到創建完成:

然后我們進入到剛剛創建完成的項目目錄下,使用npm install命令來安裝依賴包:

三、運行項目

運行項目也很簡單,這里咱們通過執行npm run dev這個命令把項目運行起來:

這樣咱們的項目就運行起來了,那怎么查看效果呢?很簡單,把上面紅色框出來的這個地址放到瀏覽器中就可以看到效果啦:

好了,到這里你是不是以為今天的內容就結束了?No,咱們為了后續直接開發,所以再來為項目引入幾個后面需要用的庫,先別走,繼續往下看吧。

四、集成Pinia

4.1、Pinia介紹

Pinia是最新一代輕量級狀態管理插件,功能類似于Vuex。作為Vue.js生態中的狀態管理解決方案,其核心定位是提供響應式數據存儲和跨組件狀態共享能力。

Pinia的優點:

對比維度

Pinia特性

Vuex特性

API設計

Composition API風格

Options API風格

類型支持

完善的TypeScript推斷

需額外配置

體積

很小

相對較大

模塊化

自動代碼拆分

需手動處理

擴展性

支持本地存儲/事務擴展

插件機制復雜

核心優勢包括:

  • 簡化存儲定義:采用類組件式聲明語法
  • 開發工具支持:完美兼容Vue DevTools
  • 服務端渲染:原生SSR支持
  • 性能優化:基于Vue3響應式系統構建

4.2、Pinia安裝

在項目中安裝Pinia:

  • 執行安裝命令:在項目根目錄運行npm install pinia --save
  • 驗證依賴:檢查package.json中是否新增對應版本號
  • 存儲路徑:狀態管理文件應存放在src/store目錄下

咱們使用VSCode打開項目工程,在package.json文件中可以看到已經添加了pinia的依賴:

接著在src目錄下創建store文件夾,在store下創建index.ts文件,在文件中執行以下操作:

  • 導入創建方法:從pinia引入defineStore函數
  • 聲明狀態倉庫:通過defineStore創建并命名存儲實例
  • 導出實例:將創建的狀態實例進行模塊化導出

代碼如下:

然后打開main.ts文件,在main.ts中引入上面創建的index.ts文件,并且執行以下操作:

  • 實例化Vue應用:創建createApp返回的實例對象
  • 掛載Pinia:通過.use(pinia)注入狀態管理插件
  • 應用初始化:執行mount('#app')完成掛載
  • 清理冗余代碼:移除舊版狀態管理相關引用

代碼如下:

五、集成VueUse

5.1、vueuse簡介

  • VueUse是為Vue2和Vue3服務的一套Composition API常用工具集,是目前世界上star最高的同類庫之一。
  • 主要功能是將原本不支持響應式的JavaScript API變得支持響應式,避免程序員重復編寫相關代碼。
  • 本質是基于Composition API的函數集合工具包,支持更好的邏輯分離,可快速實現常見功能。
  • 具體功能可通過VueUse官網查看。

5.2、vueuse安裝

  • 安裝步驟:在項目工程目錄下執行npm install @vueuse/core命令
  • 驗證安裝:package.json文件的dependencies中會新增@vueuse/core依賴項

六、集成Vant

6.1、Vant簡介

Vant是一個輕量可靠的移動端組件庫,于2017年開源。官方提供Vue2版本、Vue3版本及微信小程序版本,由設計團隊維護。

文檔參考:https://vant.pro/vant/#/zh-CN

6.2、Vant安裝

集成Vant需在項目根目錄下執行npm install vant?--save:

安裝后package.json的dependencies中會顯示Vant版本:

OK,今天的內容就到這里了,整體看下來還是很輕松的,下期再會!

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

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

相關文章

深入理解Kubernetes核心:標簽與標簽選擇器實戰解析

在管理 Kubernetes 集群時,隨著 Pods、Services 等資源數量的增長,如何有效地組織和篩選它們,成為了一個核心問題。Kubernetes 為此提供了一個簡單卻極其強大的機制:標簽(Labels)和標簽選擇器(L…

哈希和字符串哈希

哈希(Hash) Hash 表 Hash 表又稱為散列表,一般由 Hash 函數(散列函數)與鏈表結構共同實現。與離散化思想類似,當我們要對若干復雜信息進行統計時,可以用 Hash 函數把這些復雜信息映射到一個容…

【Docker基礎】Docker-Compose核心配置文件深度解析:從YAML語法到高級配置

目錄 前言 1 YAML基礎語法解析 1.1 YAML格式簡介 1.2 Docker-compose中的YAML語法規則 1.3 YAML數據類型在Compose中的應用 2 docker-compose.yml文件結構剖析 2.1 基本文件結構 2.2 版本聲明詳解 3 services配置深度解析 3.1 服務定義基礎 3.2 鏡像與構建配置 3.3…

如何判斷是否應該為了一個小功能而引入一個大體積的庫

在軟件開發中,判斷是否應該為了一個看似微小的功能,而引入一個大體積的第三方庫,是一項極其重要的、需要進行審慎的“投入產出比”分析的技術決策。這個決策,絕不能,僅僅基于“實現功能的便利性”,而必須&a…

相機定屏問題分析五:【跳幀異常】照片模式1x以上的焦段拍照之后定屏

【關注我,后續持續新增專題博文,謝謝!!!】 上一篇我們講了: 這一篇我們開始講: 相機定屏問題分析五:【跳幀異常】照片模式1x以上的焦段拍照之后定屏9573412 目錄 一、問題背景 二…

Non-stationary Diffusion For Probabilistic Time Series Forecasting論文閱讀筆記

Non-stationary Diffusion For Probabilistic Time Series Forecasting 摘要 時間序列數據受到潛在的物理動力學和外部影響,其不確定性通常隨時間而變化。現有的去噪擴散概率模型(DDPMs)受到加性噪聲模型(ANM)的恒定方…

解決Docker 無法連接到官方鏡像倉庫

這個錯誤: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)表示 Docker 無法連接到官方鏡像倉庫 registry-1.docker…

解決RAGFlow啟動時Elasticsearch容器權限錯誤的技術指南

文章目錄 問題現象 根本原因分析 解決方案步驟 1. 定位宿主機數據目錄 2. 修復目錄權限 3. 驗證權限狀態 4. 重啟服務 5. 檢查啟動狀態 永久解決方案:優化Docker Compose配置 高級故障排除 技術原理 問題現象 在啟動RAGFlow項目時,執行 docker logs ragflow-es-01 發現Elast…

【C++高階六】哈希與哈希表

【C高階六】哈希與哈希表1.什么是哈希?2.unordered系列容器3.哈希表3.1將key與存儲位置建立映射關系3.1.1直接定址法3.1.2除留余數法(產生哈希沖突)3.2解決哈希沖突的方法3.2.1閉散列(開放定址法)3.3.2開散列&#xff…

Vue 3 +Ant Design Vue 父容器樣式不影響子級,隔離

公共樣式文件 common.scss.zz-ant-status-bar {div {font-size: 12px;padding: 0 8px;} }頁面代碼<div class"zz-ant-status-bar"><a-row><a-col :span"6" ><a-progress :percent"progress.percent" size"small"…

k8s 簡介及部署方法以及各方面應用

Kubernetes 簡介及部署方法Kubernetes&#xff08;簡稱 K8s&#xff09;是一個開源的容器編排平臺&#xff0c;用于自動化容器化應用的部署、擴展、管理和運維。它由 Google 基于內部的 Borg 系統經驗開發&#xff0c;2014 年開源后由云原生計算基金會&#xff08;CNCF&#xf…

Class A 包含字段 x Class B 也包含字段 x,如果判斷List<A> lista 和 List<B> listb 有相同的 x?

要判斷兩個不同類型的對象列表 List<A> 和 List<B> 是否包含相同的 x字段值&#xff08;即兩個列表中至少有一個 x是相同的&#xff09;&#xff0c;你可以使用 Java 8 的 Stream API 來實現。import java.util.List; import java.util.Set; import java.util.stre…

SpringBoot整合Camunda工作流

什么是工作流&#xff1f;概述 工作流是將一組任務組織起來以完成某個經營過程&#xff1a;定義了任務的觸發順序和觸發條件&#xff0c;每個任務可以由一個或多個軟件系統完成&#xff0c;也可以由一個或一組人完成&#xff0c;還可以由一個或多個人與軟件系統協作完成&#x…

2025年09月計算機二級Java選擇題每日一練——第四期

計算機二級中選擇題是非常重要的&#xff0c;所以開始寫一個每日一題的專欄。 答案及解析將在末尾公布&#xff01; 今日主題&#xff1a;面向對象特性 1、有兩個類 A 和 B 的定義如下&#xff1a; class A{final int x10;public void show(){System.out.print(x " &quo…

《Nature》新文解讀:電化學輔助核聚變的實驗驗證與機制分析

前言一篇于2025年8月發表在《Nature》期刊上的重磅研究&#xff0c;由加拿大不列顛哥倫比亞大學&#xff08;UBC&#xff09;Curtis P. Berlinguette教授領導的跨學科團隊完成&#xff0c;首次在實驗上證實&#xff1a;通過電化學方法向鈀金屬靶中加載氘&#xff0c;可顯著提升…

【基礎-判斷】用戶在長視頻、短視頻、直播、通話、會議、拍攝類應用等場景下,可以采用懸停適配在折疊屏半折態時,上屏進行瀏覽下屏進行交互操作

用戶在長視頻、短視頻、直播、通話、會議、拍攝類應用等場景下,可以采用懸停適配在折疊屏半折態時,上屏進行瀏覽下屏進行交互操作。 解釋如下: ? 1. 懸停態適配機制的核心設計 HarmonyOS 針對折疊屏半折態(懸停態)提供了分屏交互框架,其核心邏輯是: 上屏(Upper Scre…

nodejs安裝后 使用npm 只能在cmd 里使用 ,但是不能在poowershell使用,只能用npm.cmd

nodejs安裝后 使用npm 只能在cmd 里使用 &#xff0c;但是不能在poowershell使用&#xff0c;只能用npm.cmdnodejs版本&#xff1a;22.18.0 剛安裝好nodejs&#xff0c;在 PowerShell 中無法執行 npm&#xff0c;但能執行npm.cmd&#xff0c;這通常是因為 PowerShell 的執行策略…

【鏈表 - LeetCode】2. 兩數相加

誰都逃不掉 LeetCode &#xff01;&#xff01;哈哈哈~~~ 開刷&#xff1a;&#xff09; 2025年08月22日 題目&#xff1a;2. 兩數相加 - 力扣&#xff08;LeetCode&#xff09; 知識點&#xff1a;鏈表 /*** Definition for singly-linked list.* struct ListNode {* in…

WG-Tools 在線開發者工具推薦:完全免費、無廣告干擾、無需安裝、即開即用

WG-Tools 在線開發者工具箱全面探秘: 一站式效率提升平臺前言一. WG-Tools 平臺介紹 &#x1f6e0;?平臺概覽技術架構亮點二. 功能模塊詳細介紹 &#x1f3af;&#x1f4dd; 文本處理工具 (Text Tools)1. JSON工具2. XML工具3. 文本對比4. 正則表達式工具5. Markdown編輯器6. …

四十二、【核心功能強化】用例管理與調試:批量刪除與在線請求測試

四十二、【核心功能強化】用例管理與調試:批量刪除與在線請求測試 前言 準備工作 第一部分:后端實現 1. 修改 `TestCaseViewSet` (`api/views.py`) 2. 后端 API 權限: 第二部分:前端實現 1. 更新 `api/testcase.ts` API 服務 2. 改造 `TestCaseListView.vue` (用例列表頁面…