Vue.js是一款漸進式的JavaScript框架,基于標準HTML、CSS和JS構建,并提供了一套聲明式的、組件化的編程模型,幫助你高效地開發用戶界面。 資源貓小編在瀏覽該網站時,頁面整潔美觀,感興趣的用戶,歡迎通過提供的Vue.js網址入口訪問,實際體驗!
Vue.js功能亮點
基于標準 HTML、CSS 和 JavaScript 構建,提供容易上手的 API 和一流的文檔。
性能出色
經過編譯器優化、完全響應式的渲染系統,幾乎不需要手動優化。
靈活多變
豐富的、可漸進式集成的生態系統,可以根據應用規模在庫和框架間切換自如。
誰在維護 Vue?
Vue 是一個獨立的社區驅動的項目。它是由尤雨溪在 2014 年作為其個人項目創建的。今天,Vue 由來自世界各地的全職成員和志愿者組成的團隊積極活躍地維護著,并由尤雨溪擔任項目負責人。你可以在這部紀錄片中了解更多關于 Vue 的故事。
自 2016 年以來,Vue 的發展主要是通過贊助來保障的,我們在財務上是可維續的。如果你或你的企業從 Vue 中受益,請考慮贊助我們,以支持 Vue 的發展!
Vue 2 和 Vue 3 之間的區別是什么?
Vue 3 是 Vue 當前的最新主版本。它包含了一些 Vue 2 中沒有的新特性 (比如 Teleport、Suspense,以及多根元素模板)。同時它也包含了一些與 Vue 2 非兼容性的變更。細節文檔請參考 Vue 3 遷移指南。
盡管存在差異,但大多數 Vue API 在兩個大版本之間是共享的,所以你的大部分 Vue 2 知識將繼續在 Vue 3 中發揮作用。需要注意的是,組合式 API 原本是一個 Vue 3 獨有的特性,但目前已兼容至 Vue 2 且在 Vue 2.7 中可用。
總的來說,Vue 3 提供了更小的包體積、更好的性能、更好的可擴展性和更好的 TypeScript/IDE 支持。如果你現在要開始一個新項目,我們推薦你選擇 Vue 3。但也仍然存在一些考慮使用 Vue 2 的理由:
你需要支持 IE11。Vue 3 用到了一些 IE11 不支持的現代 JavaScript 特性。
你還在等待 Nuxt 或 Vuetify 等主要生態系統項目為 Vue 3 發布穩定版本。如果你不希望使用 beta 階段的軟件,這也是合理的。然而請注意這里還有一些其他已經穩定的 Vue 3 的組件庫,如 Quasar、Naive UI 以及 Element Plus。
如果你打算將現有的 Vue 2 應用遷移到 Vue 3,請查閱我們特別整理的 Vue 3 遷移指南。
Vue 2 仍在維護嗎?
Vue 2 在 2022 年 6 月發布了最后一個小版本 (2.7)。目前 Vue 2 已經進入維護模式:它將不再提供新特性,但從 2.7 的發布日期開始的 18 個月內,它將繼續針對重大錯誤修復和安全更新進行發布。這意味著 Vue 2 在 2023 年 12 月 31 日將到達它的截止維護日期。
我們相信這將為大多數的生態系統提供了足夠長的時間來遷移到 Vue 3。然而,我們也理解可能會有無法在此時間軸上升級的團隊或項目仍需滿足其安全及合規需求。我們正在與業內專家合作為有這種需求的團隊提供 Vue 2 的擴展支持——如果您的團隊預期在 2023 年底之后仍然需要使用 Vue 2,請確保提前計劃,詳見 Vue 2 延長 LTS。
Vue 使用什么開源協議?
Vue 是完全免費的開源項目,且基于 MIT License 發布。
Vue 支持哪些瀏覽器?
最新版本的 Vue (3.x) 只支持原生支持 ES2015 的瀏覽器。這并不包括 IE11。Vue 3.x 使用的 ES2015 功能無法在舊版本的瀏覽器中進行兼容,如果你需要支持舊版本的瀏覽器,請使用 Vue 2.x 替代。
Vue 可靠嗎?
Vue 是一個成熟的、經歷了無數實戰考驗的框架。它是目前生產環境中使用最廣泛的 JavaScript 框架之一,在全球擁有超過 150 萬用戶,并且在 npm 上的月下載量超過 1000 萬次。
Vue 被世界各地知名且多元的組織在生產環境中使用,包括 Wikimedia 基金會、美國宇航局、蘋果、谷歌、微軟、GitLab、Zoom、騰訊、微博、嗶哩嗶哩、快手等等。
Vue 速度快嗎?
Vue 3 是性能最強的主流前端框架之一,可以輕松處理大多數 web 應用的場景,并且幾乎不需要手動優化。
跑分方面,Vue 在 js-framework-benchmark 中的表現比 React 和 Angular 要好得多。在該基準測試中,它還與一些生產環境下最快級別的非虛擬 DOM 框架并駕齊驅。
請注意,像上面這樣的跑分的側重點在于原始渲染性能在特定情況下的優化,因此不能完全代表真實世界的性能結果。如果你更關心頁面加載性能,歡迎用 WebPageTest 或是 PageSpeed Insights 來測試本站。本文檔站是一個完全由 Vue 本身構建,通過靜態生成預渲染,并在客戶端進行 hydration 的單頁應用。它在模擬 4 倍 CPU 降速的 Moto G4 + 低速 4G 網絡的情況下依然能獲得 100 分的性能得分。
你可以在渲染機制章節了解更多關于 Vue 如何自動優化運行時性能的信息,也可以在性能優化指南中了解如何在特別苛刻的情況下優化 Vue 應用。
Vue 體積小嗎?
當你通過構建工具使用時,Vue 的許多 API 都是可以“tree-shake”的。例如,如果你不使用內置的 組件,它就不會被包含在最終的生產環境包里。
對于一個 Vue 的最少 API 使用的 hello world 應用來說,配合最小化和 brotli 壓縮,其基線大小只有 16kb 左右。但實際的應用大小取決于你使用了多少框架的可選特性。在極端情況下,如果一個應用使用了 Vue 提供的每一個特性,那么總的運行時大小大約為 27kb。
如果不通過構建工具使用 Vue,我們不僅失去了 tree-shaking,而且還必須將模板編譯器加載到瀏覽器。這就使包體積增大到了 41kb 左右。因此,如果你為了漸進式增強在沒有構建步驟的情況下使用 Vue,則可以考慮使用 petite-vue (僅 6kb) 來代替。
一些諸如 Svelte 的框架使用了一種為單個組件產生極輕量級輸出的編譯策略。然而,我們的研究表明,包大小的差異在很大程度上取決于應用中的組件數量。雖然 Vue 的基線大小更重,但它生成的每個組件的代碼更少。在現實的場景中,Vue 應用很可能最終會更輕。
Vue 能勝任大規模場景嗎?
是的。盡管有一種誤解是 Vue 只適用于簡單的場景,但其實 Vue 完全有能力處理大規模的應用:
單文件組件提供了一個模塊化的開發模型,讓應用的不同部分能夠被隔離開發。
組合式 API 提供一流的 TypeScript 集成,并為組織、提取和重用復雜邏輯提供了簡潔的模式。
全面的工具鏈支持使得開發體驗在應用增長的過程中依然可以保持平滑。
較低的入門門檻和優秀的文檔能夠顯著降低新手開發者的入職和培訓成本。
我可以為 Vue 做貢獻嗎?
非常歡迎!請閱讀我們的社區指南。
我應該使用選項式 API 還是組合式 API?
如果你是 Vue 的新手,我們在這里提供了一個兩者之間宏觀的比較。
如果你過去使用過選項式 API 且正在評估組合式 API,可以查閱組合式 API 常見問題。
用 Vue 的時候應該選 JS 還是 TS?
雖然 Vue 本身是用 TypeScript 實現的,并提供一流的 TypeScript 支持,但它并不強制要求用戶使用 TypeScript。
在向 Vue 添加新特性時,對 TypeScript 的支持是一個重要的考慮因素。即使你自己不使用 TypeScript,考慮了 TypeScript 支持的 API 設計也通常更容易被 IDE 和靜態分析工具分析,因此這對大家都有好處。Vue 的 API 設計也盡可能在 JavaScript 和 TypeScript 中以相同的方式工作。
選用 TypeScript 會涉及在上手復雜性和長期可維護性收益之間作出權衡。這種權衡是否合理取決于你的團隊背景和項目規模,但 Vue 并不會真正成為影響這一決定的因素。
Vue 相比于 Web Components 究竟如何?
Vue 是在 Web Components 出現之前被創建的,Vue 在某些方面的設計 (例如插槽) 受到了 Web Components 模型的啟發。
Web Components 規范相對底層一些,因為它們是以自定義元素為中心的。作為一個框架,Vue 解決了更多上層的問題,如高效的 DOM 渲染、響應式狀態管理、工具鏈、客戶端路由和服務器端渲染等。