類別:前端相關
| 發布於 2025-06-22 21:41
Vue 專用名詞
名詞解釋
SPA
SPA(Single Page Application,單頁應用)是指應用程式只載入一次 HTML,後續所有頁面變更都由 JavaScript 控制,透過 AJAX 或 API
請求更新畫面,而不需重新載入整個頁面。
- ✅ 前端負責頁面切換:透過
Vue Router 改變
URL,但實際上不會重新載入頁面。
- ✅ 頁面變更速度快:只載入必要資料。
- ✅ 用戶體驗流暢:類似原生應用(如 PWA)。
- ✅ 適合後端 API 架構:如 Laravel 提供 API,Vue 控制前端。
- ❌ SEO 不友善:需搭配 SSR 或 Pre-rendering。
- ❌ 初次載入可能較慢:需載入整個應用程式,JS 檔案較大。
適合場景
- ✔ 互動性高的 Web App:如後台系統、儀表板、社群平台。
- ✔ 長時間使用、需減少頁面重載:如 Gmail、Facebook。
MPA
MPA(Multi Page Application,多頁應用)是指每次頁面切換都會向伺服器請求新的 HTML,瀏覽器重新載入整個頁面。
- ✅ 適合 SEO:每個頁面皆為獨立 HTML,易於搜尋引擎索引。
- ✅ 前端依賴較少:僅需少量 JavaScript(如 jQuery)。
- ✅ 初次載入快:直接由伺服器傳回完整 HTML。
- ❌ 使用者體驗較慢:換頁需重新載入,可能出現閃爍。
- ❌ 後端負擔重:伺服器需回傳完整 HTML,而不只是資料。
適合場景
- ✔ SEO 重要的內容型網站:如部落格、新聞、電商前台。
- ✔ 靜態內容為主的網站:如企業官網、政府機關網站。
SPA vs MPA
| 特性 |
SPA(單頁應用) |
MPA(多頁應用) |
| 初次載入速度 |
較慢(需載入完整 JS) |
快(直接取得 HTML) |
| 頁面切換速度 |
快(無需重載) |
慢(每次切換需重載) |
| SEO 表現 |
較差(需 SSR/Pre-rendering) |
良好(原生 HTML) |
| 伺服器負擔 |
較輕(資料 API 為主) |
較重(回傳完整頁面) |
| 適用場景 |
Web App、後台系統 |
SEO 網站、靜態內容 |
SSR
SSR(Server-Side Rendering,伺服器端渲染)是指伺服器在收到請求時,執行 Vue 應用並生成完整 HTML,再傳送給瀏覽器。
SSG
SSG(Static Site Generation,靜態網站生成)是在建置階段將 Vue 頁面預先轉為靜態 HTML,並直接部署,無需伺服器即時渲染。
-
✔ 🚀 快速加載:HTML 預先生成並可由 CDN 快速傳送
-
✔ 🕵️♂️ 良好 SEO:搜尋引擎能讀取完整 HTML
-
✔ 💰 低成本:無需伺服器、部署簡單
-
✔ 🔄 穩定內容最佳:如部落格、文件網站、企業官網
-
❌ 無法即時更新內容:需重新 build 才能反映變動
-
❌ 不適合高動態內容:如社交平台、即時數據網站
-
❌ 大型網站建置時間長:數千頁面重新生成需時
- 可搭配 ISR(Incremental Static Regeneration)解決此問題
-
工具:Nuxt Content + Nuxt generate 可實現 Vue 的 SSG。
Vue SFC
Vue SFC(Single-File Component,單檔元件)是一種 Vue 元件格式,在 .vue 檔案中同時撰寫
template、script 與
style,實現高模組化與內聚性。
- 優點:
- 高內聚:HTML、CSS、JavaScript 集中在同一檔案
- Scoped CSS:避免樣式衝突
- 支援預處理器:SCSS、TypeScript 等
- 熱重載支援:搭配 Vite、Webpack 開發效率高
==SFC 結構說明==
<template>:定義 HTML 結構(Vue 3 支援多根元素)
<script>:撰寫邏輯、定義狀態與方法
<style>:樣式區塊,可使用 scoped 限定範圍
Vue 專用名詞
名詞解釋
SPA
SPA(Single Page Application,單頁應用)是指應用程式只載入一次 HTML,後續所有頁面變更都由 JavaScript 控制,透過 AJAX 或 API 請求更新畫面,而不需重新載入整個頁面。
Vue Router改變URL,但實際上不會重新載入頁面。適合場景
MPA
MPA(Multi Page Application,多頁應用)是指每次頁面切換都會向伺服器請求新的 HTML,瀏覽器重新載入整個頁面。
適合場景
SPA vs MPA
SSR
SSR(Server-Side Rendering,伺服器端渲染)是指伺服器在收到請求時,執行 Vue 應用並生成完整 HTML,再傳送給瀏覽器。
流程:
/product/1)SSR 優點:
工具:
Nuxt.js是 Vue 的 SSR 解決方案之一。SSG
SSG(Static Site Generation,靜態網站生成)是在建置階段將 Vue 頁面預先轉為靜態 HTML,並直接部署,無需伺服器即時渲染。
✔ 🚀 快速加載:HTML 預先生成並可由 CDN 快速傳送
✔ 🕵️♂️ 良好 SEO:搜尋引擎能讀取完整 HTML
✔ 💰 低成本:無需伺服器、部署簡單
✔ 🔄 穩定內容最佳:如部落格、文件網站、企業官網
❌ 無法即時更新內容:需重新 build 才能反映變動
❌ 不適合高動態內容:如社交平台、即時數據網站
❌ 大型網站建置時間長:數千頁面重新生成需時
工具:
Nuxt Content + Nuxt generate可實現 Vue 的 SSG。Vue SFC
Vue SFC(Single-File Component,單檔元件)是一種 Vue 元件格式,在
.vue檔案中同時撰寫template、script與style,實現高模組化與內聚性。<script> export default { data() { return { message: "Hello Vue SFC!" }; } }; </script> <template> <div> <h1>{{ message }}</h1> </div> </template> <style scoped> h1 { color: blue; } </style>==SFC 結構說明==
<template>:定義 HTML 結構(Vue 3 支援多根元素)<script>:撰寫邏輯、定義狀態與方法<style>:樣式區塊,可使用scoped限定範圍