偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Vite 7 正式發(fā)布,這些升級值得一看!

開發(fā) 前端
Vite 7 表面上看只是例行升級,實際上卻在底層打包、構(gòu)建效率、生態(tài)支持方面做了大量優(yōu)化。?

最近 Vite 推出了 7.0 正式版。作為一個主力開發(fā)工具,這次更新并不是普通的“修 bug 式”版本,而是有一些值得開發(fā)者特別注意的重要升級點。

我第一時間把自己的幾個項目升上去了,踩了幾個坑,也收獲了一些「真香」瞬間。這篇文章就來和你分享 Vite 7 到底改了啥,有哪些更新是你不升級都對不起自己的。

1. 核心打包器升級:Rollup 4.x

Vite 7 把底層打包器從 Rollup 3 升級到了 Rollup 4。這是整個生態(tài)的一次大升級,最大的感受是打包更干凈、chunk 拆分更合理了。

之前我的組件庫打包體積約為 145kb,升級后直接減少到 132kb,不改一行業(yè)務(wù)代碼。

舉個例子:

// utils.ts
export const unusedFn = () => console.log('never used');

在舊版本中,unusedFn 有時會因為副作用分析不精準(zhǔn)而被打進(jìn)去。Rollup 4 的 Tree-shaking 更可靠,直接干掉這些“冗余”。

注意:如果你寫了 Rollup 插件,可能需要升級適配 Rollup 4 的新 API,尤其是鉤子 generateBundle、outputOptions。

2. HMR 更聰明了,重載更少了

Vite 的熱更新體驗一直不錯,這次又做了優(yōu)化。

  • Monorepo 下更新 utils 包,不會影響整個項目頁面重載
  • 依賴追蹤更精準(zhǔn),父模塊不會無腦 reload

如果你項目結(jié)構(gòu)是類似:

/packages
  /web-app
  /ui-lib
  /utils

只改 utils,Vite 會精準(zhǔn)更新引用模塊,不再 reload 整頁,提高開發(fā)效率特別明顯。

3. ESBuild 升級到 0.21,支持更新語法

Vite 內(nèi)置的構(gòu)建工具 ESBuild 升級到了 v0.21。這個版本支持了一些新的 TypeScript 與 JS 語法,使用新版 TS 不再有兼容性擔(dān)憂。

比如對裝飾器元數(shù)據(jù)的支持變得更完善:

@Logger()
class MyService {
  // ...
}

再比如對現(xiàn)代 JSX 支持變得更自然:

// JSX 里可以直接使用 class
return <div class="container">Hello</div>;

不再強(qiáng)制用 className,React/Preact 用戶都能從中受益。

4. 自動 Polyfill(實驗性)

Vite 7 開始在開發(fā)階段支持了一些 自動 Polyfill 功能,比如:

  • URL
  • Buffer
  • crypto

這意味著有些依賴 Node API 的三方庫,在瀏覽器中也不會直接炸了。

比如:

import { randomUUID } from 'crypto';

console.log(randomUUID());

舊版本直接報錯?,F(xiàn)在開發(fā)階段自動 shim,不影響調(diào)試。

生產(chǎn)環(huán)境建議仍然使用 vite-plugin-node-polyfills 等插件顯式配置。

5. resolve.dedupe 行為更智能了

Vite 在處理多包依賴時,有時需要手動寫:

resolve: {
  dedupe: ['react', 'react-dom']
}

否則多個版本的 React 會導(dǎo)致 HMR 出現(xiàn)問題。

Vite 7 的新行為是:如果多個包中存在相同依賴,默認(rèn)會自動合并處理 dedupe,尤其是在使用 pnpm 或 yarn workspaces 的時候,提升了不少穩(wěn)定性。

不過建議對 React 還是顯式寫 dedupe,更穩(wěn)。

6. 對 React Server Components 的預(yù)支持

這不是主打功能,但我在試驗項目中發(fā)現(xiàn):Vite 7 已經(jīng)可以識別 .server.js 和 .client.js 后綴,嘗試支持 React Server Components。

雖然暫時還沒有官方文檔,但這也說明 Vite 正在往這個方向靠近,也許未來我們真的可以不用 Next.js 開 RSC 項目了。

總結(jié)

Vite 7 表面上看只是例行升級,實際上卻在底層打包、構(gòu)建效率、生態(tài)支持方面做了大量優(yōu)化。

責(zé)任編輯:趙寧寧 來源: 前端歷險記
相關(guān)推薦

2019-03-26 09:20:12

蘋果 iOS系統(tǒng)

2019-01-13 16:18:25

云計算多云部署Kubernetes

2015-07-30 14:20:27

面試攻略

2013-05-10 16:57:26

Android開發(fā)定制皮膚

2019-05-23 10:46:53

深度學(xué)習(xí)代碼算法

2022-07-29 20:44:06

算力芯片數(shù)字化

2020-10-18 17:05:43

緩存設(shè)計架構(gòu)

2012-07-24 09:29:33

黑帽大會

2019-10-17 17:45:02

判斷瀏覽器前端

2015-03-17 10:41:36

2019-05-24 10:29:29

華為咨詢

2015-12-02 09:59:14

2011-04-20 14:48:56

掃描儀

2022-11-30 14:33:51

網(wǎng)絡(luò)安全安全技術(shù)

2019-08-27 09:03:13

工具插件開發(fā)

2017-01-05 10:43:53

Liunx

2019-07-16 16:24:09

機(jī)器學(xué)習(xí)人工智能計算機(jī)

2013-07-18 13:18:12

2020-12-02 19:09:24

開源源代碼文件

2023-08-08 11:46:36

點贊
收藏

51CTO技術(shù)棧公眾號