AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

尤雨溪:Vite 的現狀與未來展望

來源: 責編: 時間:2023-10-06 19:18:02 247觀看
導讀10 月 5 日 - 6 日,ViteConf 2023 在線舉行,Vue 和 Vite 的創建者尤雨溪發表了題為《The State of Vite》 的演講,他分享了 Vite 的現狀與未來展望,本文就來看一看 Vite 現在怎么樣了,以及未來的路將怎么走!圖片Vite 版本發

10 月 5 日 - 6 日,ViteConf 2023 在線舉行,Vue 和 Vite 的創建者尤雨溪發表了題為《The State of Vite》 的演講,他分享了 Vite 的現狀與未來展望,本文就來看一看 Vite 現在怎么樣了,以及未來的路將怎么走!Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Vite 版本發布情況

首先,來快速回顧一下自上一次 ViteConf 以來, Vite 的版本發布情況。每個版本都有很多更新,這里只關注最主要的功能。Mg628資訊網——每日最新資訊28at.com

Vite 4.0

Vite 4.0 于 2022 年 12 月發布,是上一次 ViteConf 后的主要版本更新。這個版本最大的變化是升級了 Rollup 3。Vite 和 Rollup 同步了主要版本的發布,因此也停止了對舊版 Node.js 的支持。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Mg628資訊網——每日最新資訊28at.com

相較于 Vite 3.0,這是一個更小的主要版本,沒有太多的破壞性變化。事實上,Vite 團隊的目標是發布一個穩定的版本:充分利用生態系統的 CI 工具來確保與下游項目的兼容性,以盡可能少地影響最終用戶。Mg628資訊網——每日最新資訊28at.com

除此之外,Vite 還采用了由 Arnaud Barre 最初創建的基于 SWC 的 React 插件,他現在也是 Vite 團隊成員!Mg628資訊網——每日最新資訊28at.com

Vite 4.1

Vite 4.1 于 2023 年 2 月發布,該版本主要是將 Rollup 和 esbuild 的版本進行同步。值得注意的是 React 插件的升級:Plugin-react 插件修復了很多熱更新(HMR)方面的問題,并且采用 SWC 的版本增加了對 SWC 插件的支持。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Vite 4.2

Vite 4.2 于 2023 年 3 月發布,該版本的主要改進是提升了 source map 的調試體驗。Vite 團隊與 Chrome Devtools 團隊進行合作,修復了一些長期存在的路徑顯示問題。通過x_google_ignoreList  source map 擴展添加了排除文件的選項來排除堆棧跟蹤。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Mg628資訊網——每日最新資訊28at.com

這個選項被一些更高級的框架,如 Nuxt 和 Angular 所使用,它可以讓開發者在處理錯誤時,只關注于真正關心的部分,從而提升調試效率。Mg628資訊網——每日最新資訊28at.com

Vite 4.3

Vite 4.3 于 2023 年 4 月發布,該版本主要關注性能方面的改進,使冷啟動速度比之前快 4 倍,熱模塊替換速度比以前快 2 倍,其中主要的優化是對解析策略進行了重新編寫。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Vite 4.4

Vite 4.4 于 2023 年 7 月發布,該版本添加了對 Lightning CSS 的實驗性支持。這是一個使用 Rust 編寫的快速 CSS 編譯工具,它可以加快 CSS 的處理速度。這個功能是可選的,需要顯式地安裝 Lightning CSS,并將其用于處理 Vite 內部的 CSS 轉換,如導入內聯和 CSS 模塊化,還可以用于對 CSS 進行壓縮處理。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Mg628資訊網——每日最新資訊28at.com

此外,該版本還在 create-vite 中添加了 Solid 和 Qwik 模板。Mg628資訊網——每日最新資訊28at.com

Vite 5.0

Vite 5.0 目前處于測試階段(beta),這是一個穩定版本,主要變化是停止支持已經過時(EOL)的 Node.js 版本。Mg628資訊網——每日最新資訊28at.com

另外,Vite 正在棄用 CommonJS API。這個 API 目前還沒有被移除,所以如果仍在使用 CommonJS API,不會出現任何問題,只會收到一個小的警告,提示應該使用 ESM API 替代它。同時,Vite 還與大多數相關項目合作,鼓勵他們使用 ESM API。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Vite 增長和采用情況

接下來看看 Vite 在增長和采用方面的情況如何。Mg628資訊網——每日最新資訊28at.com

Github Star

Vite 的 Github 倉庫累計獲得了超過 60k Star。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

npm 下載量

Vite 每周的下載量達到了 720 萬次,相比去年增長了 4 倍。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Storybook

Storybook 在 4 月發布的 7.0 版本中,提供了一流的 Vite 支持。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Angular

Angular 在 5 月發布的 16 版本中,使用 Vite 作為其開發服務器。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Preact

Preact 在 6 月將其默認工具切換到了 Vite。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Redwood

Redwood 在 7 月發布的 v6 版本完全基于 Vite 構建。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Bun

全新的 JavaScript 運行時 Bun 自從 0.7 版開始支持 Vite。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

VitePress

VitePress 是用于 Vite、Rollup、Vue 等眾多項目文檔生成的靜態網站生成器,即將達到 1.0 版本。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Remix

Vite 團隊正在與 Remix 團隊合作,探索遷移到 Vite,并且已經取得了相當大的進展。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

小結

顯然,Vite 正在成為一個基礎工具,越來越多的項目都在其之上構建。這些項目在不同的方向上都在創新,這種多樣性一直是 Web 的魅力所在。Mg628資訊網——每日最新資訊28at.com

Vite 的目標是解放開發者,減少構建工具層面的重復工作和復雜性,并作為一個共享基礎設施,促進 Web 生態系統中更容易、更快速、更高級別的創新。在抽象化足夠低級別的復雜性的同時,暴露出足夠的靈活性,以便高級用戶、框架和工具作者可以使用。Mg628資訊網——每日最新資訊28at.com

為了更好地服務這一目標,總結了 Vite 的理念,如下:Mg628資訊網——每日最新資訊28at.com

  • 精簡和可擴展的核心
  • 推動現代化Web
  • 實用的性能方法
  • 支持高級框架
  • 合作生態系統

最后兩點特別重要,Vite之所以取得今天的成就,是因為它具有一個合作的生態系統——一個建立在共同基礎之上的開源項目群體,在不同的方向上進行創新,并相互激發靈感。Mg628資訊網——每日最新資訊28at.com

Vite 未來展望

那么,接下來呢?Vite 如何更好地履行其使命?仍然存在哪些缺陷,還可以做出哪些改進?Mg628資訊網——每日最新資訊28at.com

Vite 痛點和挑戰

以下是收集到的一些 Vite 用戶反饋的痛點:Mg628資訊網——每日最新資訊28at.com

  • 相對較慢的生產構建速度
  • 開發和生產環境之間的一致性問題
  • 開發過程中未捆綁的ESM的網絡開銷
  • 令人困惑的SSR外部依賴問題
  • 對塊拆分的控制能力有限
  • 缺乏一方面的模塊聯邦支持

這些問題大多數從 Vite 發布時就存在了。挑戰在于這些問題大多需要在打包工具層次上解決。Vite 在底層使用了兩個打包工具:esbuild 和 Rollup。Mg628資訊網——每日最新資訊28at.com

  • esbuild 非常快,但是對構建資源優化的控制非常有限,并且插件API不夠靈活;
  • Rollup 成熟且靈活,但與本地打包工具相比仍然較慢,并且ESM/CJS互操作的處理還有待改進。

這兩種打包工具無法完全替代彼此,并且存在一些細微的行為差異。所以,如果能有一個具有本地速度和 Rollup 的靈活性的打包工具,那太好了。Mg628資訊網——每日最新資訊28at.com

這個打包工具就是 Rolldown。Mg628資訊網——每日最新資訊28at.com

Rolldown

Vite 團隊正在研發 Rolldown,它是使用 Rust 開發的 Rollup 替代品。Mg628資訊網——每日最新資訊28at.com

圖片圖片Mg628資訊網——每日最新資訊28at.com

Mg628資訊網——每日最新資訊28at.com

Rolldown 的重點將放在本地級別的性能上,同時盡可能與 Rollup 保持兼容。最終目標是在 Vite 中切換到 Rolldown,并對用戶產生最小的影響。Mg628資訊網——每日最新資訊28at.com

目前,Rolldown 仍處于早期的開發階段。原始的 Rolldown 項目在很久之前就開始了,它或多或少是 Rspack 的前身,字節跳動的 Webpack 的 Rust 移植版本。Mg628資訊網——每日最新資訊28at.com

現在已經有了 Rolldown 的原始作者,他們也是 Rspack 的核心貢獻者,正在從零開始重新編寫 Rolldown 的新版本,并借鑒了以前迭代的知識和經驗。Mg628資訊網——每日最新資訊28at.com

目前已經有一個可以打包普通ES模塊的原型,但仍有許多架構層面的決策需要驗證,代碼庫目前正經歷許多變化。在獲得更穩定的結果后,團隊計劃將其開源。Mg628資訊網——每日最新資訊28at.com

Vite 團隊將與 Rspack 團隊合作開發一些共享的底層工具和功能,例如,都將建立在當前 Rust 中最快的 JS 解析器 OXC 的基礎上,還將研究如何在 Rspack 和 Vite 之間實現模塊聯邦。Mg628資訊網——每日最新資訊28at.com

當然,Vite 團隊還將與 Rollup 的維護者 Lukas 合作,確保 Rollup 和 Rolldown 之間的 API 和行為一致性。Mg628資訊網——每日最新資訊28at.com

Vite 發展路線

從零開始用 Rust 編寫一個打包工具并非易事,這需要花費大量的努力。下面來看一下 Rolldown 的路線圖,以及從短期到長期的關鍵節點。Mg628資訊網——每日最新資訊28at.com

第一階段:聚焦基礎打包功能

第一階段的目標是能夠替代 esbuild 進行依賴預打包,其中關鍵的挑戰在于處理 CommonJS 和偽 ESM 依賴項。Mg628資訊網——每日最新資訊28at.com

第二階段:實現 Rollup 的功能

第二階段的目標是實現與 Rollup 相當的功能,尤其是與 Rollup 插件生態系統的兼容性,以及實現 tree-shaking 和高級塊分割控制。Mg628資訊網——每日最新資訊28at.com

最終目標是在 Vite 中使用 Rolldown 作為生產構建的替代品,以提供功能更強大、高效、易用和靈活的打包工具。Mg628資訊網——每日最新資訊28at.com

第三階段:常見需求的內置轉換

第三個階段會稍微遙遠一些,它將包括一些最常見需求的內置轉換,例如 TypeScript、JSX、代碼壓縮,以及基于目標環境進行語法降級。Mg628資訊網——每日最新資訊28at.com

這個階段的目標是實現 esbuild 的功能,最終將用 Rolldown 取代 esbuild 和 Rollup。Mg628資訊網——每日最新資訊28at.com

第四階段:使用 Rust 重構 Vite

從長遠來看,Vite 團隊也在考慮如何讓 Vite 本身能夠更好地受益于原生級別的速度。Mg628資訊網——每日最新資訊28at.com

一種可能的實現方式是通過 Rust API 來公開 Rolldown 的插件容器,并將 Rolldown 作為 Vite 引入自己的Rust核心的依賴項。這樣一來,Vite 就可以將許多內部插件和轉換使用 Rust 重構,從而提高性能關鍵路徑上的效率。Mg628資訊網——每日最新資訊28at.com

此外,為那些開發過程中有太多未打包模塊的項目引入完全打包模式也是一個備選方案。Mg628資訊網——每日最新資訊28at.com

最終,Rolldown 的目標并不是取代現有的工具,而是更好地滿足在 Vite 中所面臨的獨特需求,并最終使所有使用 Vite 的用戶受益。Mg628資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-12123-0.html尤雨溪:Vite 的現狀與未來展望

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Mybatis自定義類型轉換,數據加密解密全攻略【實戰】

下一篇: 簡約至上,輕松玩轉命令行:proper_cli 讓 CLI 開發變得簡單易用

標簽:
  • 熱門焦點
Top