EP46 - 工具

更新 發佈閱讀 10 分鐘
Tooling應該是介紹許多實用的工具吧!
這應該對開發會非常有幫助,快來挖寶

在線嘗試 - Try it Online

你不需要在本機上安裝任何東西即可嘗試 Vue SFC - 有一些線上平台允許你直接在瀏覽器中進行嘗試:

同時,我們也推薦在報告錯誤時使用這些線上平台提供的復現例子。

專案鷹架 - Project Scaffolding​

Vite

Vite 是一個輕量且快速的建置工具,提供了對 Vue 單文件元件(SFC)的原生支持。它是由 Vue 的作者 Evan You 開發的!

要開始使用 Vite + Vue,只需執行以下命令:

$ npm create vue@latest

這條命令將安裝並執行 create-vue,官方的 Vue 專案鷹架工具。

要了解更多關於 Vite 的資訊,請查看 Vite 文檔

要在 Vite 專案中配置 Vue 特定的行為,例如將選項傳遞給 Vue 編譯器,請參考 @vitejs/plugin-vue 的文檔。上述提到的線上平台也支持將文件下載為 Vite 專案。

Vue CLI

Vue CLI 是官方基於 webpack 的工具鏈。現在它處於維護模式,我們建議新專案使用 Vite,除非你依賴於特定的 webpack 功能。在大多數情況下,Vite 將提供更優越的開發體驗。

有關從 Vue CLI 遷移到 Vite 的信息,請參考:

瀏覽器內模板編譯的注意事項

在沒有建置步驟的情況下使用 Vue 時,元件模板要麼直接寫在頁面的 HTML 中,要麼作為內嵌的 JavaScript 字串。在這種情況下,Vue 需要將模板編譯器發送到瀏覽器,以便進行即時模板編譯。另一方面,如果我們使用建置步驟預編譯模板,則不需要編譯器。為了減少客戶端捆綁包的大小,Vue 提供了不同的「版本」,針對不同的用例進行優化。

  • vue.runtime.* 開頭的建置文件是僅運行時的版本:它們不包括編譯器。使用這些版本時,所有模板必須通過建置步驟進行預編譯。
  • 不包含 .runtime 的建置文件是完整版本:它們包括編譯器並支持在瀏覽器中直接編譯模板。然而,它們將增加約 14KB 的負載。

我們的默認工具設置使用僅運行時的版本,因為 SFC 中的所有模板都是預編譯的。如果因某種原因,即使在有建置步驟的情況下,你仍需要在瀏覽器中編譯模板,可以通過配置建置工具將 vue 別名設置為 vue/dist/vue.esm-bundler.js 來實現。

如果你在尋找無需建置步驟的輕量替代方案,可以查看 petite-vue

Q:為什麼要遷移?

  1. 性能提升: Vite 透過即時服務器啟動和快速熱模組替換(HMR)提供更快的開發體驗。這使得開發者在修改代碼時能立即看到變更,而不需重新載入整個頁面。
  2. 簡化的配置: Vite 的配置通常比 Vue CLI 更簡單,並且預設情況下已經針對現代瀏覽器進行優化。這減少了繁瑣的設定時間。
  3. 現代化的工具: Vite 使用 ES 模組作為內部依賴,這使得開發環境更符合現代前端開發的標準,並更好地支持未來的技術演進。
  4. 更好的支援: Vite 獲得了更多社群和生態系統的支援,許多新特性和最佳實踐也更快地集成進 Vite。
  5. 持續維護: Vue CLI 現在處於維護模式,未來不會有重大更新。選擇 Vite 可以確保你在長期內能夠獲得最新的功能和修復。

IDE 支援 - IDE Support

建議的 IDE 設定是 VS Code 加上 Vue - Official 擴展(以前稱為 Volar)。該擴展提供語法高亮、TypeScript 支援以及模板表達式和組件屬性的智能提示功能。

提示: Vue - Official 取代了我們之前為 Vue 2 提供的官方 VS Code 擴展 Vetur。如果你目前在 Vue 3 專案中安裝了 Vetur,請務必在 Vue 3 專案中禁用它。

WebStorm 也提供了對 Vue SFC 的優秀內建支援。

其他支援語言服務協議(LSP)的 IDE 也可以透過 LSP 利用 Volar 的核心功能:

瀏覽器開發工具 - Browser Devtools​

Vue 瀏覽器開發工具擴展允許你探索 Vue 應用的組件樹,檢查單個組件的狀態,追蹤狀態管理事件,並分析性能。

raw-image

TypeScript

主文章:使用 Vue 與 TypeScript

Vue - 官方擴展提供對使用 <script lang="ts"> 區塊的 SFC 進行類型檢查,包括模板表達式和跨組件的屬性驗證。

使用 vue-tsc 可以從命令行執行相同的類型檢查,或生成 SFC 的 d.ts 文件。

測試 - Testing

主文章:測試指南

推薦使用 Cypress 進行端到端(E2E)測試。它也可以通過 Cypress 組件測試運行器用於 Vue SFC 的組件測試。

Vitest 是由 Vue/Vite 團隊成員創建的測試運行器,專注於速度。它專為基於 Vite 的應用設計,以提供相同的單元/組件測試即時反饋循環。

Jest 可以通過 vite-jest 與 Vite 一起使用。然而,這僅在你需要將現有的基於 Jest 的測試套件遷移到基於 Vite 的設置時才建議使用,因為 Vitest 提供相似的功能,並具有更高效的整合。

偵測錯誤 - Linting

Vue 團隊維護 eslint-plugin-vue,這是一個支持 SFC 特定 linting 規則的 ESLint 插件。

之前使用 Vue CLI 的用戶可能習慣通過 webpack loaders 配置 linting 工具。然而,當使用基於 Vite 的建置設置時,我們的一般建議是:

  1. npm install -D eslint eslint-plugin-vue

然後遵循 eslint-plugin-vue配置指南

  1. 設置 ESLint IDE 擴展,例如 VS Code 的 ESLint,以便在開發過程中獲得編輯器內的 linting 反饋。這樣可以避免在啟動開發伺服器時產生不必要的 linting 費用。
  2. 將 ESLint 作為生產建置命令的一部分執行,以便在部署到生產環境之前獲得完整的 linting 反饋。
  3. (可選)設置像 lint-staged 的工具,自動在 git 提交時檢查已修改的文件。

格式 - Formatting

Vue - 官方 VS Code 擴展提供 Vue SFC 的內建格式化支持。
另外,Prettier 也提供內建的 Vue SFC 格式化支持。

SFC 自訂區塊整合 - SFC Custom Block Integrations​

自訂區塊被編譯成對相同 Vue 文件的導入,並附有不同的請求查詢。這些導入請求的處理由底層的建置工具負責。

  • 如果使用 Vite,應使用自訂的 Vite 插件將匹配的自訂區塊轉換為可執行的 JavaScript。範例
  • 如果使用 Vue CLI 或普通的 webpack,則應配置 webpack loader 來轉換匹配的區塊。範例

低階套件 - Lower-Level Packages

@vue/compiler-sfc

文檔

此套件是 Vue 核心單一庫的一部分,始終與主 Vue 套件發佈相同版本。它作為主 Vue 套件的依賴關係被包含,並通過 vue/compiler-sfc 進行代理,因此無需單獨安裝。

該套件本身提供用於處理 Vue SFC 的低階工具,僅適用於需要在自訂工具中支持 Vue SFC 的工具開發者。

提示: 始終通過 vue/compiler-sfc 深度導入來使用此套件,因為這樣可以確保其版本與 Vue 執行時保持同步。

@vitejs/plugin-vue

文檔

官方插件,提供 Vite 中的 Vue SFC 支持。

vue-loader

文檔

官方 loader,提供 webpack 中的 Vue SFC 支持。如果您正在使用 Vue CLI,還可以參考有關修改 Vue CLI 中 vue-loader 選項的文檔

其他在線遊樂場 - Other Online Playgrounds

好多開發工具唷!好的框架工具少不了!!!
什麼時候我也來開發一款工具 www


留言
avatar-img
卡關的人生
4會員
73內容數
分享生活趣事~
卡關的人生的其他內容
2024/11/10
Vue 提供了多種動畫技術來提升應用程式的互動性,包括基於 CSS 類別的動畫、基於狀態的動畫,以及使用監視器來動畫化數值。基於類別的動畫可通過動態添加 CSS 類別來觸發,像是觸發按鈕搖動效果。基於狀態的動畫則是透過樣式綁定,根據互動動態調整元素的外觀,例如根據滑鼠位置改變背景顏色。
Thumbnail
2024/11/10
Vue 提供了多種動畫技術來提升應用程式的互動性,包括基於 CSS 類別的動畫、基於狀態的動畫,以及使用監視器來動畫化數值。基於類別的動畫可通過動態添加 CSS 類別來觸發,像是觸發按鈕搖動效果。基於狀態的動畫則是透過樣式綁定,根據互動動態調整元素的外觀,例如根據滑鼠位置改變背景顏色。
Thumbnail
2024/11/09
Web Components 是一組網頁原生 API,允許開發者創建可重複使用的自訂元素。Vue 與 Web Components 是互補的技術,Vue 支援整合和創建自訂元素。
Thumbnail
2024/11/09
Web Components 是一組網頁原生 API,允許開發者創建可重複使用的自訂元素。Vue 與 Web Components 是互補的技術,Vue 支援整合和創建自訂元素。
Thumbnail
2024/11/08
Vue 建議使用模板構建應用程式,但在需要 JavaScript 的全程式化功能時,渲染函數可派上用場。渲染函數通過 h() 函數創建 vnode,h 是 hyperscript 的簡寫,能生成 HTML 的 JavaScript。
Thumbnail
2024/11/08
Vue 建議使用模板構建應用程式,但在需要 JavaScript 的全程式化功能時,渲染函數可派上用場。渲染函數通過 h() 函數創建 vnode,h 是 hyperscript 的簡寫,能生成 HTML 的 JavaScript。
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
在這篇文章中,我們將介紹如何快速建置一個 Vue 專案,並涵蓋一些基本的檔案結構和組件使用的方式。希望能幫助你順利開始 Vue 的開發之旅!
Thumbnail
在這篇文章中,我們將介紹如何快速建置一個 Vue 專案,並涵蓋一些基本的檔案結構和組件使用的方式。希望能幫助你順利開始 Vue 的開發之旅!
Thumbnail
Vite 作為輕量快速的建置工具,原生支持 Vue SFC,並且提供簡化的配置與優越的開發體驗。文章還介紹了 IDE 支援、測試工具(如 Cypress 和 Vitest)、Linting 和格式化工具的使用,幫助開發者提高開發效率與代碼質量。
Thumbnail
Vite 作為輕量快速的建置工具,原生支持 Vue SFC,並且提供簡化的配置與優越的開發體驗。文章還介紹了 IDE 支援、測試工具(如 Cypress 和 Vitest)、Linting 和格式化工具的使用,幫助開發者提高開發效率與代碼質量。
Thumbnail
透過 npm run dev 啟動開發伺服器,並可使用 VSCode 的簡單瀏覽器即時預覽。開始實作一個簡單的 "Hello World" 範例,透過 <script setup> 簡化元件定義,並理解響應式變數的運作。實作後能加深對 Vue 的理解,實踐是學習的最佳方式。
Thumbnail
透過 npm run dev 啟動開發伺服器,並可使用 VSCode 的簡單瀏覽器即時預覽。開始實作一個簡單的 "Hello World" 範例,透過 <script setup> 簡化元件定義,並理解響應式變數的運作。實作後能加深對 Vue 的理解,實踐是學習的最佳方式。
Thumbnail
這一集用最新的Vite工具去創建初始檔案。Vite用於創建和構建Web應用程序,具有快速的啟動時間、即時熱更新、小型體積、支持多種框架和可擴展性等優點。
Thumbnail
這一集用最新的Vite工具去創建初始檔案。Vite用於創建和構建Web應用程序,具有快速的啟動時間、即時熱更新、小型體積、支持多種框架和可擴展性等優點。
Thumbnail
Vite 是由 Vue 開發者 Evan You 所開發出來,用來加快、優化程式碼打包的工具,在這裡我們不免會需要提到大部分前端開發者可能都會聽過、使用過的前端工具:Webpack。 在那之前,我們先來聊聊為什麼前端會需要所謂的打包工具呢?
Thumbnail
Vite 是由 Vue 開發者 Evan You 所開發出來,用來加快、優化程式碼打包的工具,在這裡我們不免會需要提到大部分前端開發者可能都會聽過、使用過的前端工具:Webpack。 在那之前,我們先來聊聊為什麼前端會需要所謂的打包工具呢?
Thumbnail
Vue3 學習筆記,專案建立與基礎響應式篇
Thumbnail
Vue3 學習筆記,專案建立與基礎響應式篇
Thumbnail
Vue CLI與React的create-react-app是類似的工具,目的都是為了讓開發者快速建置環境,節省複雜的安裝相關環境的時間,簡單的一個建立專案指令與設定,即建立一個內建了Hot-Reload, webpack, ESLint等功能的專案。 安裝Vue CLI: 選擇檢查程式碼的時機
Thumbnail
Vue CLI與React的create-react-app是類似的工具,目的都是為了讓開發者快速建置環境,節省複雜的安裝相關環境的時間,簡單的一個建立專案指令與設定,即建立一個內建了Hot-Reload, webpack, ESLint等功能的專案。 安裝Vue CLI: 選擇檢查程式碼的時機
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News