Vue 3 入門教程 - 1、基礎概念與環境搭建

一、Vue 3 簡介

Vue.js 是一款流行的 JavaScript 前端框架,用于構建用戶界面。Vue 3 作為其最新版本,帶來了諸多令人矚目的新特性與性能優化,為開發者打造了更為高效、靈活的開發體驗。

1.1 Vue 3 的優勢

  • 性能提升:對虛擬 DOM 進行了重構,優化了編譯器和運行時性能,在大型應用中渲染速度大幅提升。同時支持 Tree - Shaking,有效減小了打包體積。
  • API 革新:引入全新的 Composition API,使開發者能夠以更靈活、可復用的方式組織邏輯,顯著提升代碼的可讀性與維護性。
  • 更好的 TypeScript 支持:增強了類型推斷能力,與 TypeScript 兼容性更佳,為使用 TypeScript 進行開發的項目提供了更友好的環境。

1.2 Vue 3 與 Vue 2 的區別

  • 響應式系統:Vue 2 使用 Object.defineProperty 來實現響應式,而 Vue 3 采用 ES6 的 Proxy 對象。Proxy 能更高效且完整地進行對象代理,可深度監聽對象變化,包括屬性的添加和刪除。
  • API 風格:Vue 2 主要采用選項式 API(Options API),而 Vue 3 引入的組合式 API(Composition API)提供了一種全新的組織代碼邏輯的方式,更便于邏輯復用,尤其適用于大型應用中組件間的狀態管理和邏輯共享。
  • 生命周期鉤子:Vue 3 中生命周期鉤子名稱前綴增加了 on,例如 onMounted,并且在 Composition API 中以函數形式使用,需要導入對應的生命周期鉤子。同時,Vue 3 移除了 beforeDestroy,改為 onBeforeUnmount,新增了 unmounted 對應 Vue 2 的 destroyed 鉤子。

二、環境搭建

在開始使用 Vue 3 進行開發之前,我們需要先搭建好開發環境。主要包括安裝 Node.js 和創建 Vue 項目。

2.1 安裝 Node.js

Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行時環境,它允許我們在服務器端運行 JavaScript 代碼。Vue 項目的創建和運行依賴于 Node.js。

前往 Node.js 官方網站 下載并安裝適合你操作系統的版本。安裝完成后,打開終端或命令提示符,輸入以下命令檢查是否安裝成功:

node -vnpm -v

這兩條命令會分別顯示 Node.js 和 npm(Node.js 的包管理器)的版本號。如果成功顯示版本號,則說明安裝成功。

2.2 創建 Vue 項目

2.2.1 使用 create - vue 創建項目

create - vue 是 Vue 官方新的腳手架工具,底層基于 vite(下一代前端工具鏈),能為開發提供極速響應。

確保你已經安裝了 16.0 或更高版本的 Node.js。打開終端,進入你想要創建項目的目錄,執行以下命令:

npm create vue@latest

執行該命令后,會出現一系列交互式選項:

  • 請輸入項目名稱:輸入你想要的項目名稱,例如 my - vue3 - project。
  • 是否使用 TypeScript 語法:如果你熟悉 TypeScript 或者項目需要,可以選擇 Yes,否則選擇 No。
  • 是否啟用 JSX 支持:如果項目中需要使用 JSX 語法(一種類似 XML 的 JavaScript 擴展語法),選擇 Yes,否則選擇 No。
  • 是否引入 Vue Router 進行單頁面應用開發:如果項目需要路由功能(例如實現頁面之間的跳轉),選擇 Yes,否則選擇 No。
  • 是否引入 Pinia 用于狀態管理:如果項目需要進行狀態管理(例如管理全局狀態),選擇 Yes,否則選擇 No。
  • 是否引入 Vitest 用于單元測試:如果項目需要進行單元測試,選擇 Yes,否則選擇 No。
  • 是否要引入一款端到端(End to End)測試工具:根據項目測試需求選擇是否引入端到端測試工具。
  • 是否引入 ESLint 用于代碼質量檢測:如果希望對代碼進行質量檢測和規范,選擇 Yes,否則選擇 No。

按照需求選擇完成后,等待項目創建完成。創建完成后,進入項目目錄:

cd my - vue3 - project

然后安裝項目依賴:

npm install

最后,啟動項目:

npm run dev

啟動成功后,在瀏覽器中訪問 http://localhost:5173/,你將看到 Vue 項目的默認頁面。

2.2.2 使用 Vue CLI 創建項目(了解)

Vue CLI 是 Vue.js 官方的腳手架工具,雖然 create - vue 是官方新推薦的方式,但 Vue CLI 仍然被廣泛使用。如果你之前安裝過舊版本的 Vue CLI,可能需要先卸載:

npm uninstall -g vue - cli

然后全局安裝 Vue CLI:

npm install -g @vue/cli

安裝完成后,在終端進入你想要創建項目的目錄,執行以下命令創建一個新的 Vue 3 項目:

vue create my - vue3 - project

在創建過程中,你可以選擇默認的配置(babel、eslint 等),也可以手動選擇需要的特性,如 Vue Router(路由管理)、Vuex(狀態管理)等。創建完成后,同樣進入項目目錄,安裝依賴并啟動項目:

cd my - vue3 - project
npm install
npm run serve

啟動成功后,在瀏覽器中訪問 http://localhost:8080/,即可看到項目頁面。

2.3 Vue 3 項目結構

以使用 create - vue 創建的項目為例,其目錄結構大致如下:

my - vue3 - project/

├── node_modules/ # 項目依賴的第三方包

├── public/ # 公共靜態資源

│ ├── assets/ # 靜態資源,如圖片、字體等

│ ├── index.html # 應用的 HTML 模板

├── src/ # 項目源代碼

│ ├── assets/ # 項目內的靜態資源

│ ├── components/ # 組件目錄

│ │ ├── HelloWorld.vue # 示例組件

│ ├── main.js # 入口文件,初始化 Vue 實例

│ ├── App.vue # 根組件

├── package.json # 項目依賴和配置

├── package - lock.json # 精確鎖定項目依賴版本的文件

├── tsconfig.json # TypeScript 配置(如果使用 TypeScript)

├── vite.config.ts # Vite 配置文件(如果使用 Vite)

  • public 目錄:用于存放公共靜態資源,如 index.html 是項目的入口 HTML 文件,該目錄下的資源會直接被復制到最終的打包目錄中。
  • src 目錄:是項目的源代碼目錄,所有的 Vue 組件、JavaScript 邏輯、樣式等主要代碼都存放在此目錄下。
    • assets 目錄:用于存放項目內的靜態資源,如圖片、樣式文件等。
    • components 目錄:用于存放 Vue 組件,每個組件通常是一個 .vue 文件,一個 Vue 項目由多個組件組合而成。
    • main.js:項目的入口文件,在該文件中創建 Vue 應用實例,并進行一些全局配置,例如掛載根組件、注冊全局組件、引入路由和狀態管理等(如果項目使用了這些功能)。
    • App.vue:項目的根組件,整個應用的結構和樣式通常從這個組件開始構建,其他組件會被引入到該組件中進行組合。
  • package.json:記錄了項目的依賴包信息以及一些腳本命令,通過 npm install 命令會根據此文件安裝項目所需的依賴包。
  • package - lock.json:用于精確鎖定項目依賴包的版本,確保在不同環境下安裝的依賴包版本一致。
  • tsconfig.json:如果項目使用了 TypeScript,該文件用于配置 TypeScript 的編譯選項。
  • vite.config.ts:如果項目使用了 Vite 構建工具,該文件用于配置 Vite 的相關選項,例如自定義別名、配置代理等。

了解項目結構有助于我們更好地組織和管理代碼,在后續開發中能夠快速找到對應的文件和邏輯。

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

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

相關文章

SpringBoot之多環境配置全解析

SpringBoot之多環境配置全解析一、多環境配置的核心思路二、3種配置文件格式詳解2.1 properties格式(傳統格式)1. 基礎配置文件(application.properties)2. 環境專屬配置文件2.2 yaml/yml格式(推薦)1. 單文…

uvm-tlm-nonblocking-get-port

前文展示了使用本質為阻塞性質的uvm_blocking_get_port TLM端口的示例,其中接收方會停滯等待發送方完成get任務。類似地,UVM TLM還提供非阻塞類型的uvm_nonblocking_get_port,發送方需通過try_get來檢測get是否成功,或通過can_get…

【NCS隨筆】如何在hello_world添加藍牙功能(一)

如何在hello_world添加藍牙功能(一)環境準備 硬件:nRF54L15DK 軟件版本:NCS3.0.2 例程:hello_world 宏的配置 # Config loggerCONFIG_LOGyCONFIG_USE_SEGGER_RTTyCONFIG_LOG_BACKEND_RTTyCONFIG_LOG_BACKEND_UARTnONFI…

機器學習——KNN實現手寫數字識別:基于 OpenCV 和 scikit-learn 的實戰教學 (超級超級超級簡單)

用KNN實現手寫數字識別:基于 OpenCV 和 scikit-learn 的實戰教學在這篇文章中,我們將使用 KNN(K-Nearest Neighbors)算法對手寫數字進行分類識別。我們會用 OpenCV 讀取圖像并預處理數據,用 scikit-learn 構建并訓練模…

【Git】分支

文章目錄理解分支創建分支切換分支合并分支刪除分支合并沖突分支管理策略分支策略bug 分支刪除臨時分支小結理解分支 本章開始介紹 Git 的殺手級功能之一(注意是之一,也就是后面還有之二,之三……):分支。分支就是科幻…

【32】C# WinForm入門到精通 ——打開文件OpenFileDialog 【屬性、方法、事件、實例、源碼】

WinForm 是 Windows Form 的簡稱,是基于 .NET Framework 平臺的客戶端(PC軟件)開發技術,是 C# 語言中的一個重要應用。 .NET 提供了大量 Windows 風格的控件和事件,可以直接拿來使用。 本專欄內容是按照標題序號逐漸…

Wan2.2開源第1天:動態燈光功能開啟創意氛圍新境界

在開源軟件蓬勃發展的今天,每一次新版本的發布都如同在創意的星空中點亮了一顆璀璨的新星。今天,(通義萬相國際版wan)Wan2.2正式開源,它帶著令人眼前一亮的動態燈光功能驚艷登場,為所有追求創意與氛圍營造的…

Excel制作滑珠圖、啞鈴圖

Excel制作滑珠圖、啞鈴圖效果展示在較長時間周期內,很多參數都是在一定范圍內浮動的,并不是一成不變的,為了直觀表達各類別的浮動范圍,使用“滑珠圖”就是一個不錯的選擇,當滑珠圖兩側均有珠子的時候,又稱為…

Day07 JDBC+MyBatis

1.JDBC入門程序2.JDBC執行DQL語句3.JDBC預編譯SQL 防止SQL注入隨便輸入用戶名,密碼為or1 1,sql注入4.Mybatis入門 Mapper 持久層XxxMapper替代Dao4.1調用接口的findAll()方法時自動執行上方的SQL語句,并將SQL查詢的語句自動封裝到返回值中5.Mybatis輔助…

OSS-服務端簽名Web端直傳+STS獲取臨時憑證+POST簽名v4版本開發過程中的細節

這里寫自定義目錄標題配置OSS服務端代碼初始化STS Client獲取STS臨時憑證創建policy計算SigningKeyOSSUtil.javaSTSPolicyDTO.java提供接口Apifox模擬Web端文件直傳本文主要結合服務端STS獲取臨時憑證(簽名)直傳官方文檔對開發中比較容易出錯的地方加以提醒;建議主要…

uniapp實現微信小程序導航功能

1.導航按鈕<button click"navigation()">導航到倉庫</button>2.導航功能const navigation (item) > {let address item.province item.city item.district item.address //地址let latitude Number(item.latitude) …

07.4-使用 use 關鍵字引入路徑

使用 use 關鍵字引入路徑 每次調用函數時都必須寫出完整路徑&#xff0c;可能會感覺不便且重復。在清單7-7中&#xff0c;無論我們選擇絕對路徑還是相對路徑來調用 add_to_waitlist 函數&#xff0c;每次調用時都必須指定 front_of_house 和 hosting。幸運的是&#xff0c;有一…

7.Linux :進程管理,進程控制與計劃任務

Linux &#xff1a;進程管理&#xff0c;進程控制與計劃任務 一、進程管理 1. 進程與程序 程序&#xff1a;靜態的可執行文件&#xff08;存儲于磁盤&#xff09;。進程&#xff1a;動態執行的程序實例&#xff08;占用CPU/內存&#xff09;。 2. 查看進程命令作用常用組合ps靜…

Matplotlib(四)- 圖表樣式美化

文章目錄一、Matplotlib圖表樣式介紹1. 圖表樣式簡介2. 默認圖表樣式2.1 查看默認配置2.2 常用的配置3. 圖表樣式修改3.1 局部修改3.1.1 通過繪圖方法設置參數修改3.1.2 通過rcParams修改3.1.3 通過rc()方法修改3.2 全局修改二、顏色設置1. 顏色的三種表示方式1.1 顏色單詞1.2 …

三十四、【Linux常用工具】rsync+inotify實時同步演示

實時同步演示技術架構全景核心組件詳解1. inotify 內核子系統2. Rsync 高效同步工具實踐演示一、環境準備與安裝1. 檢查內核支持2. 安裝 inotify-tools二、配置 Rsync 服務端&#xff08;目標機&#xff09;1. 創建 Rsync 配置文件2. 啟動 Rsync 守護進程三、配置實時同步腳本&…

windows環境下MySQL 8.0 修改或重置密碼

windows環境下MySQL 8.0 修改或重置密碼 1打開命令窗口cmd&#xff0c;輸入命令&#xff1a;net stop mysql&#xff0c; 停止MySQL服務&#xff0c; 開啟跳過密碼驗證登錄的MySQL服務 2輸入命令 mysqld --console --skip-grant-tables --shared-memory 再打開一個新的cmd&…

基于YOLOP與GAN的圖像修復與防御系統設計與實現

基于YOLOP與GAN的圖像修復與防御系統設計與實現 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家&#xff0c;覺得好請收藏。點擊跳轉到網站。 1. 引言 1.1 研究背景 隨著深度學習技術在計算機視覺領域的…

將目錄文件轉移到D盤,使之后的下載緩存數據轉移,不再存入c盤

將 C:\Users 文件夾&#xff08;用戶文件夾&#xff09;轉移到其他盤是一個復雜且風險較高的操作。C:\Users 文件夾包含了系統中每個用戶的個人數據和配置文件&#xff0c;修改這個路徑可能會導致系統出現問題&#xff0c;包括程序無法正常工作或無法登錄。因此&#xff0c; 強…

Cesium大氣散射效果

由于做全球體積云效果的需要&#xff0c;再來研究下大氣散射效果和體積云類似&#xff0c;關于大氣散射顏色計算的過程也僅發生在這兩個球體之間。如圖所示。計算從相機出發的視線與球殼的交點&#xff0c;如果不相交&#xff0c;則該視線方向上不會發生大氣散射&#xff0c;直…

預過濾環境光貼圖制作教程:第二步 - 生成環境貼圖圖集

核心目標 本步驟的核心是生成一張包含 6 級分辨率的環境貼圖圖集(envAtlas),實現: 將第一步的立方體貼圖(sourceCube)重新映射為等矩形投影(適合存儲和采樣); 生成 6 級不同分辨率的等矩形數據(0 級最高清,5 級最模糊); 用 RGBP 編碼壓縮 HDR 數據(平衡精度與存…