跳轉到內容

常見問題解答

誰維護Vue?

Vue是一個獨立、社群驅動的專案。它由Evan You於2014年作為個人副專案建立。今天,Vue由來自世界各地的全職和志願者組成的團隊積極維護,其中Evan擔任專案負責人。您可以在這個紀錄片中瞭解更多關於Vue的故事。

Vue的開發主要透過贊助來資助,我們自2016年以來一直財務可持續。如果您或您的業務從Vue中受益,請考慮贊助我們以支援Vue的開發!

Vue 2 和 Vue 3 之間有什麼區別?

Vue 3 是當前最新的主要版本。它包含一些Vue 2中沒有的新特性,如Teleport、Suspense以及每個模板可以有多個根元素。它也包含了一些破壞性更改,使其與Vue 2不相容。詳細的遷移資訊請參考Vue 3 遷移指南

儘管存在差異,兩個主要版本之間的大多數Vue API都是共享的,所以你大部分的Vue 2知識在Vue 3中仍然適用。值得注意的是,Composition API最初是Vue 3獨有特性,但現在已回滾到Vue 2,並在Vue 2.7中可用。

總的來說,Vue 3 提供了更小的包體積、更好的效能、更好的可伸縮性和更好的TypeScript/IDE支援。如果你今天開始一個新專案,Vue 3 是推薦的選擇。目前只有少數原因讓你考慮使用Vue 2。

  • 你需要支援IE11。Vue 3 利用現代JavaScript特性,不支援IE11。

如果你打算將現有的Vue 2應用程式遷移到Vue 3,請查閱遷移指南

Vue 2 還支援嗎?

2022年7月釋出的Vue 2.7是該版本系列的最後一個次要版本。Vue 2 現已進入維護模式:它將不再發布新功能,但從2.7版本釋出日期開始,將繼續接收關鍵錯誤修復和安全更新,為期18個月。這意味著Vue 2 將於2023年12月31日達到生命週期終點

我們認為這應該為大多數生態系統遷移到Vue 3 提供足夠的時間。然而,我們也理解,可能存在一些團隊或專案無法在2023年12月31日之前升級,但仍需滿足安全和合規要求。我們正在與行業專家合作,為有此類需求的團隊提供Vue 2的擴充套件支援——如果你的團隊預計將在2023年底之後繼續使用Vue 2,請提前規劃並瞭解更多關於Vue 2 擴充套件LTS的資訊。

Vue 使用什麼許可證?

Vue 是一個免費的開源專案,根據MIT許可證釋出。

Vue 支援哪些瀏覽器?

Vue最新版本(3.x)僅支援具有原生ES2015支援的瀏覽器。這排除了IE11。Vue 3.x使用ES2015特性,無法在舊瀏覽器中polyfill,因此如果你需要支援舊瀏覽器,你需要使用Vue 2.x。

Vue 是否可靠?

Vue 是一個成熟且經過實戰考驗的框架。它是目前最廣泛使用的JavaScript框架之一,全球有超過150萬用戶,每月在npm上下載量接近1000萬次。

Vue已被全球各地的知名組織在生產環境中使用,包括維基媒體基金會、NASA、蘋果、谷歌、微軟、GitLab、Zoom、騰訊、微博、嗶哩嗶哩、快手等。

Vue是否快速?

Vue 3是效能最優秀的主流前端框架之一,能夠輕鬆處理大多數Web應用用例,無需手動最佳化。

在壓力測試場景中,Vue在js-framework-benchmark中比React和Angular表現出色。它還與其他一些最快的生產級非虛擬DOM框架並駕齊驅。

請注意,上述合成基準測試專注於原始渲染效能,並具有專門的最佳化,可能無法完全代表實際效能結果。如果您更關心頁面載入效能,歡迎使用WebPageTestPageSpeed Insights審計此網站。該網站由Vue驅動,具有SSG預渲染、全頁水合和SPA客戶端導航。在模擬的Moto G4上,在慢速4G網路上4倍CPU節流的情況下,效能得分為100分。

您可以在渲染機制部分了解更多關於Vue如何自動最佳化執行時效能的資訊,以及在效能最佳化指南中瞭解如何在特別要求高的案例中最佳化Vue應用程式。

Vue是否輕量級?

當您使用構建工具時,許多Vue的API都是“可搖樹”的”。例如,如果您不使用內建的<Transition>元件,它將不會包含在最終的生產包中。

僅使用絕對最小API的hello world Vue應用程式的基線大小僅為約16kb,包含最小化和brotli壓縮。應用程式的實際大小將取決於您從框架中使用的可選功能數量。在不太可能的情況下,如果應用程式使用了Vue提供的所有功能,總執行時大小約為27kb

當在沒有構建工具的情況下使用Vue時,我們不僅失去了搖樹功能,還必須將模板編譯器傳送到瀏覽器。這使大小增加到約41kb。因此,如果您主要使用Vue進行漸進式增強而沒有構建步驟,請考慮使用petite-vue(僅6kb)。

一些框架,如Svelte,使用一種編譯策略,在單個元件場景中產生極輕量級的輸出。然而,我們的研究表明,大小差異很大程度上取決於應用程式中的元件數量。雖然Vue的基線大小較重,但它每個元件生成的程式碼較少。在實際場景中,Vue應用程式可能非常輕量。

Vue是否可擴充套件?

是的。儘管有誤解認為Vue僅適用於簡單用例,但Vue完全能夠處理大型應用程式。

  • 單檔案元件提供了一種模組化開發模型,允許應用程式的不同部分獨立開發。

  • 組合式API提供了第一類TypeScript整合,並允許組織、提取和重用複雜邏輯的清晰模式。

  • 全面的工具支援確保隨著應用程式的增長,開發體驗依然流暢。

  • 較低的入門門檻和優秀的文件意味著新開發者的入職和培訓成本較低。

我如何為Vue貢獻?

感謝您的關注!請檢視我們的社群指南

我應該使用Options API還是Composition API?

如果您是Vue的新手,我們在這裡提供了一個兩種風格的概要比較這裡

如果您之前使用過Options API,現在正在評估Composition API,請檢視這個常見問題解答

我應該與Vue一起使用JavaScript還是TypeScript?

儘管Vue本身是用TypeScript實現的,並且提供了第一級的TypeScript支援,但它並不強制要求使用者使用TypeScript。

當Vue新增新功能時,TypeScript支援是一個重要的考慮因素。設計時考慮到TypeScript的API通常更容易被IDE和linters理解,即使您自己不使用TypeScript也是如此。所有人都受益。Vue API也被設計成儘可能在JavaScript和TypeScript中都以相同的方式工作。

採用TypeScript需要在入職複雜性和長期維護性收益之間做出權衡。這種權衡是否合理可能因團隊背景和專案規模而異,但Vue並不是影響這個決定的因素。

Vue與Web Components有何比較?

Vue是在Web Components原生可用之前建立的,Vue的一些設計(例如插槽)受到了Web Components模型的影響。

Web Components規範相對較低階,因為它們圍繞定義自定義元素。作為一個框架,Vue解決了額外的更高階問題,如高效的DOM渲染、響應式狀態管理、工具、客戶端路由和伺服器端渲染。

Vue還完全支援消費或匯出原生自定義元素 - 有關更多詳細資訊,請檢視Vue和Web Components指南

常見問題解答已載入