點擊上方的語言選單以切換語言
Vue DevTools 不僅僅是一個除錯工具,它是深入理解 **Vue 響應式系統** 和**優化應用程式性能**的關鍵。它將原本抽象的資料流和元件生命週期以視覺化方式呈現。
以樹狀結構顯示所有元件階層。開發者可即時檢視、修改元件的 **Props**、**Data** 和 **Computed** 屬性,並立即看到 UI 變化。這是進行 **HMR (熱模組替換)** 測試和快速迭代的利器。
提供專屬面板來追蹤狀態管理工具的狀態樹。能夠查看所有 **Mutation (變更)** 或 **Action (動作)** 的歷史紀錄。
針對狀態管理,允許開發者點擊歷史紀錄中的任何一個變更點,將應用程式的狀態**回溯**到那一刻,極大地簡化了追蹤狀態錯誤的難度。
測量每個元件**渲染所花費的時間**,並追蹤導致元件重新渲染的響應式依賴項,幫助開發者找出渲染瓶頸並進行優化。
許多開發者在使用 **vite-plugin-vue-devtools** 時,會遇到 DevTools 視窗自動以**獨立彈出 (Popout)** 模式出現,並遮擋住網頁應用程式中重要 UI 元素的問題。這是一個常見的、令人惱火的開發體驗障礙。
vite-plugin-vue-devtools這個 Vite 外掛的設計就是要在開發模式下**自動注入並獨立開啟** DevTools 視窗,其目的是提供便捷,但卻意外造成了 **UI 遮擋**的困擾,尤其是在螢幕較小的環境下。
要一勞永逸地解決,必須修改專案根目錄下的 Vite 配置檔案,通常是 vite.config.js 或 vite.config.ts。
透過將外掛的 enabled 屬性設為 false,即可阻止其自動彈出的行為。完成後需重新啟動開發伺服器。
// vite.config.js
import { defineConfig } from 'vite'
// 這裡定義了模組的名稱為 'VueDevTools'
import VueDevTools from 'vite-plugin-vue-devtools'
export default defineConfig({
plugins: [
// ... 其他外掛 (例如 vue())
// 這是關鍵配置
// 陣列中的函式名必須與上方 import 時所取的名稱 **完全一致** (大小寫敏感)
// ✅ 正確:VueDevTools(...)
// ❌ 錯誤:vuedevtools(...) 或 Vuetools(...)
VueDevTools({
// 確保屬性名稱是 'enabled' (全小寫),這是另一個大小寫敏感的範例。
enabled: false,
})
// ... 其他外掛
],
// ... 其他 Vite 配置
})
DevTools 彈出與否,其原因不在於 Vue 3 框架本身,而是與專案的 **Vite 配置**及 **Node 模組安裝狀態**直接相關。
package.json 中紀錄了 vite-plugin-vue-devtools,且執行了 npm install。vite.config.js 中雖然有 import VueDevTools 的程式碼,但該套件**並未安裝**在 node_modules 中(例如,編輯器底下有橘色底線)。