
Cloudflare發表開源專案Vinext,這是一套基於Vite建置工具重新實作Next.js API介面的前端框架,主要解決Next.js在Cloudflare Workers等無伺服器平臺上的部署痛點。目前Vinext仍處於實驗階段,已涵蓋Next.js 16約94%的API。
Next.js是目前最多開發者使用的React框架,但在無伺服器生態中存在部署痛點。Cloudflare指出,Next.js的工具鏈高度客製化,並投入大量資源在Turbopack,導致應用若要部署到Cloudflare Workers、Netlify Functions或AWS Lambda等非Vercel平臺,必須額外轉換成目標平臺可執行的形式。業界雖有OpenNext等方案嘗試解決,但這類做法本質上是逆向工程Next.js的建置結果,版本變動時容易出現不可預期差異,修正成本也隨之上升。
Vinext並非包裝或轉接Next.js的建置產出,而是直接在Vite之上重新實作Next.js的API介面,包含路由、伺服器端算繪、React伺服器端元件(Server Components)、Server Actions、快取機制與中介軟體等功能。Vite是前端生態系中廣泛採用的建置工具,Astro、SvelteKit、Nuxt及Remix等框架皆以其為基礎。由於Vinext的產出直接相容Vite生態系,理論上可透過Vite Environment API在不同平臺上運作。
Cloudflare以一個包含33條路由的App Router應用程式進行測試比較,在Vite 8搭配Rust開發的Rolldown打包工具,Vinext的正式環境建置時間為1.67秒,相較Next.js 16.1.6搭配Turbopack的7.38秒快了約4.4倍。客戶端打包體積方面,Vinext經gzip壓縮後為72.9 KB,Next.js則為168.9 KB,減少約57%。Cloudflare也提醒,這組測試主要衡量編譯與打包速度,並非實際上線後的服務效能。
特別的是,Cloudflare提出流量感知預先算繪(Traffic-aware Pre-Rendering,TPR)機制。傳統Next.js在建置時會預先算繪generateStaticParams()列出的所有頁面,頁面數一多建置時間便線性成長。TPR則利用Cloudflare本身作為反向代理所掌握的流量資料,在部署時僅預先算繪實際有訪客的熱門頁面,其餘頁面改由即時伺服器端算繪處理,首次請求後再透過增量靜態再生ISR快取。此功能目前仍為實驗性質。
在品質保證方面,Vinext已建立超過1,700項Vitest單元測試與380項Playwright端對端測試,其中部分測試直接移植自Next.js官方測試套件與OpenNext的Cloudflare相容性測試。
Cloudflare同時指出,Vinext約95%的程式碼與Cloudflare平臺無關,屬於純Vite實作,Vinext原始碼已發布於GitHub,採MIT開源授權。該專案由Cloudflare工程經理Steve Faulkner以AI模型Claude輔助開發,從首次提交程式碼到基本功能完成僅花費不到一周時間,詞元(Token)成本約1,100美元。
熱門新聞
2026-02-23
2026-02-23
2026-02-20
2026-02-23
2026-02-23
2026-02-23