近日,在 ViteConf 2023 上,Vite 團隊成員 patak 發(fā)表了題為《Vite's Philosophy》 的演講,分享了 Vite 的設(shè)計理念,本文就來詳細(xì)看一下!
Vite 并不打算為每個用戶的每種用例提供支持。Vite 旨在支持最常見的模式來構(gòu)建開箱即用的 Web 應(yīng)用程序,但 Vite 核心必須保持精簡,API 接口較小,以保持項目的長期可維護性。這個目標(biāo)的實現(xiàn)得益于 Vite 基于 rollup 的插件系統(tǒng)。可以作為外部插件實現(xiàn)的功能一般不會添加到 Vite 核心中。vite-plugin-pwa 是 Vite 核心可以實現(xiàn)的功能的一個很好的例子,并且還有很多維護良好的插件可以滿足你的需求。Vite 與 Rollup 項目緊密合作,確保插件盡可能在純 rollup 和 Vite 項目中使用,盡可能將所需的擴展推送到 Plugin API 上游。
Vite 推出了一些注重編寫現(xiàn)代代碼的特性。例如:
添加新功能時,將遵循這些模式來創(chuàng)建面向未來的 API,該 API 可能并不總是與其他構(gòu)建工具兼容。
Vite自誕生之日起就專注于性能。其開發(fā)服務(wù)器架構(gòu)使 HMR 能夠隨著項目規(guī)模的擴展而保持快速運行。Vite 使用 esbuild 和 SWC 等原生工具來實現(xiàn)密集型任務(wù),但將其余代碼保留在 JS 中,以平衡速度和靈活性。當(dāng)需要時,框架插件將利用 Babel 來編譯用戶代碼。在構(gòu)建期間,Vite 目前使用 Rollup,其中打包大小和訪問廣泛的插件生態(tài)系統(tǒng)比原始速度更重要。Vite 將繼續(xù)在內(nèi)部發(fā)展,使用新的庫,利用出現(xiàn)的新庫來改善開發(fā)體驗,同時保持其 API 的穩(wěn)定性。
盡管用戶可以直接使用 Vite,但它在創(chuàng)建框架工具方面表現(xiàn)出色。Vite 核心不依賴于特定框架,但為每個UI框架提供了優(yōu)化的插件。其 JS API 允許應(yīng)用框架作者利用 Vite 的功能為用戶創(chuàng)建定制化的體驗。Vite 包含對 SSR 原語的支持,這些原語通常出現(xiàn)在更高級別的工具中,但卻是構(gòu)建現(xiàn)代 Web 框架的基礎(chǔ)。Vite 插件則通過提供一種在不同框架之間共享的方式來完善整個生態(tài)系統(tǒng)。Vite 也非常適合與 Ruby 和 Laravel 等后端框架搭配使用。
Vite 的進化是框架和插件維護者、用戶和 Vite 團隊之間的合作。一旦項目采用 Vite,就鼓勵積極參與 Vite 核心的開發(fā)。Vite 團隊與生態(tài)系統(tǒng)中的主要項目密切合作,以減少每個發(fā)布版本上的回歸,這得益于 vite-ecosystem-ci 等工具的支持。它使我們能夠在選定的 PR 上使用 Vite 運行主要項目的 CI,并讓我們清楚地了解生態(tài)系統(tǒng)對發(fā)布的反應(yīng)。在回歸影響用戶之前修復(fù)它們,并允許項目在發(fā)布后立即更新到下一個版本。
本文鏈接:http://www.tebozhan.com/showinfo-26-14579-0.htmlVite 的設(shè)計理念,本文就來詳細(xì)看一下!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com