作者 | Bruno Couriol
譯者 | 張衛(wèi)濱
策劃 | 丁曉昀
Vite 前端構(gòu)建工具背后的團(tuán)隊(duì)最近發(fā)布了 Vite 4.0叹谁,此時(shí)距離 Vite 3.0 發(fā)布已有 5 個(gè)月稀蟋。新版本的動(dòng)力來自于從 Rollup 2.0 到 3.0 的突破性升級。Vite 4.0 還增加了對 SWC 的支持苛白,這是一個(gè)基于 Rust 的打包器(bundler)娃豹,聲稱比 Babel 有數(shù)量級的速度提升。
現(xiàn)在丸氛,Vite 4.0 在構(gòu)建時(shí)使用 Rollup 3.0培愁。Rollup 3.0 是在幾周前的 ViteConf 2022 上發(fā)布的。ViteConf 2022 聚集了 Vite 生態(tài)系統(tǒng)的主要參與者缓窜。自 Vite 2.0 以來定续,Vite 是一個(gè)與框架無關(guān)的構(gòu)建工具。因此禾锤,許多其他的開發(fā)者工具私股、庫和框架開始支持 Vite,例如 Storybook恩掷、Astro倡鲸、Nuxt、SvelteKit黄娘、Solid Start峭状、Hydrogen、Laravel逼争、Qwik City 以及其他產(chǎn)品优床。Vite 團(tuán)隊(duì)提到:
在生態(tài)系統(tǒng)合作伙伴的幫助下,[我們] 很高興地宣布 Vite 4 發(fā)布誓焦,它在構(gòu)建時(shí)由 Rollup 3 提供支持胆敞。我們會(huì)與生態(tài)系統(tǒng)協(xié)作,確保這個(gè)新的主版本的平滑升級杂伟。
雖然 Rollup 3 與 Rollup 2 基本兼容移层,但使用自定義 rollupOptions 的開發(fā)者可能會(huì)遇到問題,應(yīng)參考 Rollup 遷移指南來升級他們的配置赫粥。
Vite 4.0 還升級了 dotenv 和 dotenv-expand 的版本(參見 dotenv 和 dotenv-expand 的變更日志)观话。新版本的 dotenv 帶來了一些破壞性的變化,要求開發(fā)者用引號來包裝包含某些字符(如回車鍵)的名字:
-VITE_APP=ab#cdef
+VITE_APP="ab#cdef"
最近發(fā)布的 Next.JS 13 包括了 Turbopack傅是,這是一個(gè)新的匪燕、仍在 alpha 階段的蕾羊、基于 Rust 的 Webpack 替代方案,聲稱比 Vite 快幾個(gè)數(shù)量級帽驯。對這一說法的研究表明龟再,大部分速度的提高與 Turbopack 使用 SWC 有關(guān),SWC 是一個(gè)基于 Rust 的打包器尼变,目前仍處于 alpha 階段利凑。SWC 聲稱比 Vite 3.0 中使用的 Babel 快 20 倍。Vite 4.0 現(xiàn)在增加了對 SWC 的支持嫌术,這應(yīng)該有助于縮小這一差距哀澈。Vite 團(tuán)隊(duì)解釋說:
SWC 現(xiàn)在是 Babel 的成熟替代方案,特別是在 React 項(xiàng)目下度气。SWC 的 React 快速刷新實(shí)現(xiàn)比 Babel 快很多割按,對于一些項(xiàng)目來說,它現(xiàn)在是一個(gè)更好的選擇磷籍。從 Vite 4 開始适荣,有兩個(gè)插件可用于 React 項(xiàng)目,它們有不同的權(quán)衡院领。我們認(rèn)為目前這兩種方法都值得支持弛矛,未來我們會(huì)繼續(xù)探索對這兩個(gè)插件的改進(jìn)。
開發(fā)者可以參考遷移指南和發(fā)布說明比然,以了解與新版本相關(guān)的詳盡變化丈氓。Vite 是在 MIT 開源許可下發(fā)布的。歡迎提交貢獻(xiàn)强法,但必須遵循 Vite 的貢獻(xiàn)指南万俗。