Next.js 13.5 發(fā)布:提高開發(fā)速度、性能改進(jìn)及修復(fù) 438 個 Bug!
大家好,我是五月君,Next.js 13.5 版本于本周發(fā)布,從官方的發(fā)布博客看,不像 13.4 帶了很多新功能。本版本主要側(cè)重于性能優(yōu)化,例如提高了本地服務(wù)器啟動速度、HRM(熱更新)速度、減少了內(nèi)存占用以及 438 個 bug 的修復(fù)(這個 Bug 數(shù)量是真的不少看來用的人也不少哈~)。
開發(fā)環(huán)境速度慢,你是否有遇到?
之前使用 Next.js 13.4 版本,開發(fā)環(huán)境隨著模塊數(shù)量的增多,特別消耗內(nèi)存,速度也很慢(生產(chǎn)環(huán)境似乎沒有這個問題)當(dāng)時的方案是升級到 13.4.8 之上會好很多,但還有優(yōu)化的空間,因為還是不能和 Vite 這種閃電般的速度比擬!詳情參見這個 Issue 的討論 https://github.com/vercel/next.js/issues/48748。
不過現(xiàn)在可以考慮升到 13.5 版本測試下了。
13.5 提升了本地開發(fā)性能和可靠性
以下是 Next.js 13.5 對于本地開發(fā)性能和可靠性的提升:
- 本地服務(wù)器啟動速度提高了22%:通過 App & Pages Router 實現(xiàn)更快的迭代。
- HMR(Fast Refresh)速度提高了29%:在保存更改時進(jìn)行更快的迭代。
- 內(nèi)存使用減少了40%:在運行 next start 時測得。
- 優(yōu)化的包引入:在使用常見圖標(biāo)和組件庫時進(jìn)行更快的更新。
- next/image 改進(jìn):新增 <picture>、藝術(shù)方向以及暗模式支持。
- 修復(fù)了超過 438 個 Bug!
性能提升主要來自于以下優(yōu)化措施(這些了解即可,對于開發(fā)者只有一個感受,“快” 就對了):
- 通過緩存或最小化緩慢操作來減少工作量。
- 優(yōu)化昂貴的文件系統(tǒng)操作。
- 在編譯期間更好地增量遍歷樹。
- 將不必要的阻塞同步調(diào)用移到惰性執(zhí)行。
- 自動配置大型圖標(biāo)庫。
Turbopack 還處于 Beta 階段
之前 “號稱比 Vite 快 10 倍的 Turbopack” Next.js 團(tuán)隊還正在進(jìn)行開發(fā)以進(jìn)一步提高性能,目前 Turbopack 還處于 Beta 階段,只支持 next dev,不支持 next build。
之前因為使用 v13.4 在開發(fā)模式下太慢,也采用 Turbopack 做了測試,還是沒能解決問題,還遇到了一些兼容性問題,也可能是筆者的使用姿勢不對?