從零基礎到最佳實踐:Vue.js 系列(1/10):《環境搭建與基礎概念》

Vue.js 環境搭建與基礎概念

  • 關鍵點
    • Vue.js 是一個簡單易用的前端框架,適合初學者快速上手。
    • 搭建開發環境需要安裝 Node.js 和 npm/Yarn,推薦使用最新 LTS 版本。
    • Vue CLI 是官方工具,可快速創建項目并提供開發服務器。
    • Vue.js 基于 MVVM 模式,響應式系統是其核心特性,驅動數據與視圖的自動同步。
為什么需要環境搭建?

要開發 Vue.js 應用,首先需要一個前端開發環境,包括 Node.js(運行 JavaScript 的環境)和 npm 或 Yarn(管理依賴的工具)。Vue CLI 幫助快速生成項目結構,省去手動配置的麻煩。

核心概念簡介

Vue.js 采用 MVVM(Model-View-ViewModel)模式,數據(Model)通過 ViewModel 與視圖(View)綁定。響應式系統讓數據變化自動更新界面,無需手動操作 DOM。

接下來做什么?

本文將引導你安裝必要工具、創建第一個 Vue 項目,并理解 Vue.js 的核心概念,為后續學習打下基礎。


從零基礎到最佳實踐:Vue.js 系列(1/10):《環境搭建與基礎概念》

歡迎踏上 Vue.js 的學習之旅!Vue.js 是一個輕量、靈活且強大的前端框架,以其簡單易學和高效開發而聞名。本系列專欄共 10 篇,從零基礎到進階技巧,再到項目實戰,帶你全面掌握 Vue.js。本文是第一篇,聚焦于環境搭建基礎概念,為你開啟 Vue.js 開發之門。我們將以輕松、易懂的語言,結合代碼示例,詳細講解如何準備開發環境、創建項目,并理解 Vue.js 的核心機制。

1. 前端開發環境搭建

在開始 Vue.js 開發之前,我們需要搭建一個前端開發環境,包括安裝 Node.js 和包管理工具(npm 或 Yarn)。這些工具是現代前端開發的基石,幫助我們運行 JavaScript 代碼和管理項目依賴。

1.1 安裝 Node.js

Node.js 是一個 JavaScript 運行時環境,允許在瀏覽器之外運行 JavaScript 代碼。它是 Vue.js 開發的基礎,因為許多工具(如 Vue CLI)依賴 Node.js。

  • 步驟

    1. 訪問 Node.js 官網,下載最新 LTS(長期支持)版本(截至 2025 年 5 月,推薦版本為 20.11.0 或更高)。
    2. 按照安裝向導完成安裝,支持 Windows、macOS 和 Linux。
    3. 打開終端(Windows 使用命令提示符或 PowerShell,macOS/Linux 使用終端),運行以下命令驗證安裝:
      node -v
      
      如果返回版本號(如 v20.11.0),說明安裝成功。
  • 注意:選擇 LTS 版本以確保穩定性和兼容性。如果您需要管理多個 Node.js 版本,可以使用 nvm(Node Version Manager)。

1.2 安裝包管理工具(npm 或 Yarn)

Node.js 自帶 npm(Node Package Manager),用于安裝和管理項目依賴。Yarn 是另一種流行的包管理工具,以速度快和一致性強著稱。

  • npm:無需額外安裝,隨 Node.js 提供。驗證版本:

    npm -v
    
  • Yarn(可選):如果您更喜歡 Yarn,可以通過 npm 全局安裝:

    npm install -g yarn
    

    驗證安裝:

    yarn -v
    
  • npm vs Yarn:npm 是默認選擇,易于上手;Yarn 提供更快的安裝速度和離線緩存功能。兩者功能類似,選擇任一即可。

1.3 使用 nvm 管理 Node.js 版本(可選)

如果您在不同項目中需要使用不同版本的 Node.js,nvm 是一個方便的工具,可以輕松切換版本。

  • 安裝 nvm
    • macOS/Linux
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
      
    • Windows:下載并安裝 nvm-windows。
  • 使用 nvm
    • 安裝特定版本:
      nvm install 20.11.0
      
    • 切換版本:
      nvm use 20.11.0
      
    • 查看已安裝版本:
      nvm list
      
2. Vue CLI 安裝與項目初始化

Vue CLI 是 Vue.js 官方的命令行工具,用于快速創建和管理 Vue 項目。它提供預配置的項目結構、開發服務器和構建工具,極大簡化開發流程。

2.1 安裝 Vue CLI

確保 Node.js 和 npm 已安裝,然后運行以下命令全局安裝 Vue CLI:

npm install -g @vue/cli
  • 驗證安裝

    vue --version
    

    如果返回版本號(如 @vue/cli@5.0.8),說明安裝成功。

  • 注意:Vue CLI 4.x 和 5.x 要求 Node.js 版本 8.9 或更高,推薦使用 10.x 或以上。如果您需要 Vue CLI 2.x 的舊功能,可以安裝橋接工具:

    npm install -g @vue/cli-init
    
2.2 創建新項目

使用以下命令創建一個新 Vue 項目:

vue create my-project
  • 配置選項:運行后,Vue CLI 會提示您選擇項目配置:

    • 默認預設:包含基本配置,適合快速開始。
    • 手動選擇功能:允許選擇 Vue 版本(2 或 3)、路由(Vue Router)、狀態管理(Pinia 或 Vuex)、CSS 預處理器(如 Sass)、代碼檢查(ESLint)等。
  • 快速創建:若不想手動配置,可使用默認配置:

    vue create my-project --default
    
  • 圖形界面(可選):Vue CLI 提供圖形界面,運行以下命令:

    vue ui
    

    這會打開瀏覽器,顯示一個可視化界面,引導您完成項目創建。

2.3 啟動開發服務器

創建項目后,進入項目目錄:

cd my-project

安裝依賴:

npm install

啟動開發服務器:

npm run serve
  • 訪問項目:瀏覽器會自動打開(通常為 http://localhost:5173),顯示 Vue.js 的歡迎頁面。
  • 項目結構:新建的項目包含以下關鍵文件:
    • src/main.js:項目入口文件。
    • src/App.vue:根組件。
    • src/components/:存放子組件。
    • package.json:項目依賴和腳本配置。

Vue 項目結構示例

以下是 vue create 生成的典型項目結構:

my-project/
├── node_modules/        # 項目依賴
├── public/             # 靜態資源
│   ├── index.html      # 主 HTML 文件
│   └── favicon.ico
├── src/                # 源代碼
│   ├── assets/         # 靜態資源(如圖片、CSS)
│   ├── components/     # Vue 組件
│   ├── App.vue         # 根組件
│   └── main.js         # 入口文件
├── package.json        # 項目配置和依賴
└── README.md           # 項目說明
3. Vue.js 核心概念:MVVM 與響應式原理

Vue.js 的設計基于 MVVM(Model-View-ViewModel)模式,并以其強大的響應式系統為核心,實現了數據與視圖的自動同步。

3.1 MVVM 模式

MVVM 是一種軟件架構模式,將應用程序分為三個部分:

  • Model:數據模型,包含業務邏輯和數據(如用戶信息、商品列表)。
  • View:用戶界面,顯示給用戶(如 HTML 模板)。
  • ViewModel:連接 Model 和 View,處理數據綁定和用戶交互。

在 Vue.js 中,組件的 datasetup 函數充當 ViewModel,管理響應式數據。例如:

<template><div><h1>{{ message }}</h1><button @click="updateMessage">更新消息</button></div>
</template><script>
export default {data() {return {message: 'Hello, Vue!'}},methods: {updateMessage() {this.message = 'Welcome to Vue.js!';}}
}
</script>

在這個例子中,data 中的 message 是 ViewModel 的一部分,與模板中的 {{ message }} 綁定。當 message 變化時,視圖自動更新。

3.2 響應式原理

Vue.js 的響應式系統是其核心特性,確保數據變化自動觸發視圖更新。其工作原理基于依賴追蹤發布-訂閱模式

  • 依賴追蹤:當組件渲染時,Vue.js 記錄模板中使用的響應式數據。
  • 發布-訂閱:當這些數據變化時,Vue.js 通知依賴它們的組件重新渲染。

在 Vue 3 中,響應式系統通過以下 API 實現:

  • ref:用于單個值的響應式引用。
  • reactive:用于創建響應式對象或數組。

示例:

<template><div><p>計數: {{ count }}</p><p>狀態: {{ state.message }}</p><button @click="increment">增加</button></div>
</template><script setup>
import { ref, reactive } from 'vue';const count = ref(0);
const state = reactive({ message: 'Hello, Vue!' });function increment() {count.value++;state.message = `Count is now ${count.value}`;
}
</script>
  • refcount 是一個響應式引用,訪問或修改時使用 .value
  • reactivestate 是一個響應式對象,屬性變化會觸發視圖更新。
3.3 計算屬性與偵聽器
  • 計算屬性:基于其他響應式數據計算值,依賴變化時自動更新。
  • 偵聽器:在數據變化時執行自定義邏輯。

示例:

<template><div><p>價格: {{ price }}</p><p>折扣價: {{ discountedPrice }}</p><button @click="price += 10">增加價格</button></div>
</template><script setup>
import { ref, computed, watch } from 'vue';const price = ref(100);
const discount = ref(0.1);const discountedPrice = computed(() => price.value * (1 - discount.value));watch(price, (newPrice) => {console.log(`價格變為: ${newPrice}`);
});
</script>
  • 計算屬性discountedPrice 基于 pricediscount 計算。
  • 偵聽器watch 監聽 price 變化,記錄日志。
4. 實際應用場景
  • 環境搭建:Node.js 和 npm/Yarn 是前端開發的標配,Vue CLI 簡化了項目初始化,適合快速原型開發。
  • MVVM 模式:在表單、列表等場景中,MVVM 模式讓數據與視圖分離,提高代碼可維護性。
  • 響應式系統:用于動態更新界面,如實時顯示用戶輸入、計算價格或更新狀態。
5. 最佳實踐
實踐描述
使用 LTS 版本選擇 Node.js LTS 版本以確保穩定性和兼容性。
選擇合適的包管理器npm 適合簡單項目,Yarn 適合需要高性能或離線緩存的場景。
利用 Vue CLI 圖形界面使用 vue ui 簡化項目配置,適合初學者。
理解響應式數據使用 refreactive 管理數據,確保視圖與數據同步。
6. 2025 年趨勢

截至 2025 年 5 月,Vue.js 3 是主流版本,推薦使用 Vite 替代 Vue CLI,因為 Vite 提供更快的構建速度和現代化開發體驗。然而,Vue CLI 仍適合需要穩定配置的項目。響應式系統在 Vue 3 中更加靈活,Composition API 成為首選。

7. 總結

本文介紹了如何搭建 Vue.js 開發環境,包括安裝 Node.js、npm/Yarn 和 Vue CLI,并創建第一個項目。我們還深入探討了 Vue.js 的 MVVM 模式和響應式原理,結合代碼示例展示了如何使用 refreactive、計算屬性和偵聽器。這些基礎知識為后續學習組件、路由和狀態管理奠定了基礎。希望本文能幫助你順利開啟 Vue.js 之旅!

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

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

相關文章

使用docker compose部署dify(大模型開發使用平臺)

Dify是一款生成式 AI 應用中間件&#xff0c;面向有私有部署與數據合規需求的企業用戶&#xff0c;推動企業向 AI 時代轉型。平臺支持無代碼構建&#xff0c;業務人員即可快速搭建與調試 AI 應用&#xff0c;顯著降低開發門檻。 參考 https://docs.dify.ai/zh-hans/getting-s…

npm 安裝時 SSL 證書過期問題筆記

問題描述: npm error code CERT_HAS_EXPIRED npm error errno CERT_HAS_EXPIRED npm error request to https://registry.npm.taobao.org/axios failed, reason: certificate has expired 這表明當前配置的 npm 鏡像源&#xff08;淘寶鏡像 https://registry.npm.taobao.org&…

力扣HOT100之二叉樹: 236. 二叉樹的最近公共祖先

果然&#xff0c;這道題二刷還是不會做&#xff0c;回去看卡爾視頻了。結合靈神的題解&#xff0c;我對這道題有了一些新的理解。 首先這道題還是用遞歸來做&#xff0c;由于我們需要計算兩個節點的最近公共祖先&#xff0c;一定是從下往上來遍歷&#xff0c;只有先判斷左右子樹…

Word 轉 HTML API 接口

Word 轉 HTML API 接口 圖像/轉換 Word 文檔轉換為 HTML 文件轉換 / 超高精度與還原度 文件轉換 / Word。 1. 產品功能 超高精度與還原度的 HTML 文件轉換&#xff1b;支持將 Word 文檔轉換為 HTML 格式&#xff1b;支持 .doc 和 .docx 格式&#xff1b;保持原始 Word 文檔的…

idea 安裝飛算-javaAI 插件使用

文章目錄 前言idea 安裝飛算-javaAI 插件使用1. 介紹一下飛算-AI2. 安裝使用 前言 如果您覺得有用的話&#xff0c;記得給博主點個贊&#xff0c;評論&#xff0c;收藏一鍵三連啊&#xff0c;寫作不易啊^ _ ^。 ??而且聽說點贊的人每天的運氣都不會太差&#xff0c;實在白嫖的…

Bert預訓練任務-MLM/NSP

MLM MLM:Masked Language Mode:在每一個訓練序列中以15%的概率隨機地選中某個token進行MASK,當一個token被選中后&#xff0c;有以下三種處理方式&#xff1a; 80%的概率被[MASK]&#xff0c;如my dog is hairy->my dog is [MASK]10%的概率修改為隨機的其他token,如my dog …

瀏覽器原生 Web Crypto API 實現 SHA256 Hash 加密

寫在前面 在我上一篇文章 《node 后端和瀏覽器前端&#xff0c;有關 RSA 非對稱加密的完整實踐&#xff0c; 前后端匹配的代碼演示》 中&#xff0c;我們使用 瀏覽器原生 Web Crypto API 實現了 RSA 的加密算法。 但是&#xff0c;在我之前的 《我設計的一個安全的 web 系統用…

5G 網絡尋呼的信令及 IE 信息分析

一、尋呼信令的觸發背景 在 5G 網絡中,當網絡側有下行數據要發送給處于空閑態(RRC_IDLE)或非激活態(RRC_INACTIVE)的用戶設備(UE)時,就會觸發尋呼流程。這是因為在這些狀態下,UE 與網絡之間沒有建立持續的無線資源控制(RRC)連接,網絡需要通過尋呼機制來通知 UE 有…

印度語言指令驅動的無人機導航!UAV-VLN:端到端視覺語言導航助力無人機自主飛行

作者&#xff1a;Pranav Saxena, Nishant Raghuvanshi and Neena Goveas單位&#xff1a;比爾拉理工學院&#xff08;戈瓦校區&#xff09;論文標題&#xff1a;UAV-VLN: End-to-End Vision Language guided Navigation for UAVs論文鏈接&#xff1a;https://arxiv.org/pdf/250…

基于Zynq SDK的LWIP UDP組播開發實戰指南

一、為什么選擇LWIP組播? 在工業控制、智能安防、物聯網等領域,一對多的高效數據傳輸需求日益增長。Zynq-7000系列SoC憑借其ARM+FPGA的獨特架構,結合LWIP輕量級網絡協議棧,成為嵌入式網絡開發的理想選擇。本文將帶您實現: LWIP組播配置全流程動態組播組切換技術零拷貝數據…

(三)MMA(KeyCloak身份服務器/OutBox Pattern)

文章目錄 項目地址一、KeyCloak二、OutBox Pattern2.1 配置Common模塊的OutBox1. OutboxMessage2. 數據庫配置OutboxMessageConfiguration3. 創建Save前的EF攔截器4. 創建Quartz后臺任務5. 配置后臺任務6. 注冊服務2.2 創建OutBox的消費者1. 自定義IDomainEventHandler2. 定義抽…

初步認識HarmonyOS NEXT端云一體化開發

視頻課程學習報名入口:HarmonyOS NEXT端云一體化開發 1、課程設計理念 本課程采用"四維能力成長模型"設計理念,通過“能看懂→能聽懂→能上手→能實戰”的漸進式學習路徑,幫助零基礎開發者實現從理論認知到商業級應用開發的跨越。該模型將學習過程劃分為四個維度…

Vue百日學習計劃Day43-45天詳細計劃-Gemini版

Day 43: Composable 函數基礎與抽取簡單邏輯 (~3 小時) 本日目標: 理解 Composable 函數的概念、優勢&#xff0c;并學會如何將簡單的、無狀態的邏輯抽取為 Composable。所需資源: Vue 3 官方文檔 (組合式函數): https://cn.vuejs.org/guide/reusability/composables.html 學…

C++:list容器,deque容器

list容器&#xff1a;雙向鏈表容器&#xff0c;底層是雙向鏈表。 簡單使用如下&#xff1a; #include<iostream> #include<list> using namespace std;int main() {list<int> lst;lst.push_back(1);lst.push_back(2);lst.push_back(3);lst.push_front(4);l…

STM32之溫濕度傳感器(DHT11)

KEIL軟件實現printf格式化輸出 一般在標準C庫是提供了格式化輸出和格式化輸入等函數&#xff0c;用戶想要使用該接口&#xff0c;則需要包含頭文件 #include &#xff0c;由于printf函數以及scanf函數是向標準輸出以及標準輸入中進行輸出與輸入&#xff0c;標準輸出一般指的是…

【蒼穹外賣】Day01—Mac前端環境搭建

目錄 一、安裝Nginx &#xff08;一&#xff09;安裝Homebrew &#xff08;二&#xff09;Homebrew安裝Nginx 1. 執行安裝命令&#xff1a; 2. 驗證安裝&#xff1a; &#xff08;三&#xff09;啟動與停止Nginx 二、配置Nginx 1. 替換nginx.conf 2. 替換html文件夾 三…

docker面試題(3)

如何臨時退出一個正在交互的容器的終端&#xff0c;而不終止它 按ctrlp&#xff0c;后按ctrlq &#xff0c;如果按ctrlc會使容器內的應用進程終止&#xff0c;進而會使容器終止 很多應用容器都默認是后臺運行的&#xff0c;怎么查看它們輸出的日志信息 使用docker logs &#…

單片機設計_四軸飛行器(STM32)

四軸飛行器&#xff08;STM32&#xff09; 想要更多項目私wo!!! 一、系統簡介 四軸飛行器是一種通過四個旋翼產生的升力實現飛行的無人機&#xff0c;其核心控制原理基于歐拉角動力學模型。四軸飛行器通過改變四個電機的轉速來實現六自由度控制&#xff08;前后、左右、上下…

Vue 3 與 Vue 2 的區別詳解

Vue 3 在性能、語法、響應式、類型系統等方面相比 Vue 2 做了大幅優化和改進。本篇將從多個維度詳細對比 Vue 3 與 Vue 2 的核心區別。 &#x1f4cc; 核心對比表格 對比維度Vue 2Vue 3說明核心 API 模式Options APIComposition API&#xff08;兼容 Options&#xff09;Vue 3…

深入理解 Redisson 看門狗機制:保障分布式鎖自動續期

在分布式系統的開發中&#xff0c;分布式鎖是解決資源競爭、數據一致性問題的關鍵手段。Redisson 作為一個在 Java 領域廣泛使用的 Redis 客戶端框架&#xff0c;為我們提供了功能強大且易用的分布式鎖實現。其中&#xff0c;看門狗&#xff08;watchDog&#xff09;機制更是 R…