我們相信 Web 是一個開放給所有人的平台, 因此我們努力讓 Vercel 能夠以不管選擇用甚麼建置都可以存取與使用.
今天我們引入了 Build Output API, 一個檔案系統為基底的規格, 允許任何框架都可以讓 Vercel 建置, 並且取用了 Vercel 的優勢, 也就是 Vercel 的 infrastructure building blocks, 像是 Edge Functions, Edge Middleware, Incremental Static Regeneration(ISR), Image Optimization 等等.
這個全新的規格也帶給 Vercel CLI 強大的能力, 包括:
- vercel build : 本地建置一個專案或是在你自己的 CI 環境
- vercel deploy --prebuilt : 部署建置後的輸出直接給 Vercel, 透過 Vercel 的建置系統傳遞
更新 Vercel CLI 到最新版( npm i -g vercel )來試試看, 然後看看文件.
加強了 Vercel CLI 的能力
我們將全新的指令加入 Vercel CLI, 幫助開發者在本地建置時執行與除錯, 以及部署到 Vercel.
將建置與部署分開
當你為 Web 以前端框架建置時, 基礎架構平台, 像是 Vercel, 需要轉譯框架輸出成一種平台看得懂的格式.
使用 vercel build , 我們整合了絕大部分的建置系統進到我們的開源 CLI, 讓你在本地建置整個專案, 複製 Vercel 建置系統的結果.
將原生功能都建置進你自己的框架
很多框架, 像是 Next.js, 已經能夠透過在框架程式碼的簡單配置選擇, 利用 Vercel 的平台功能, 像是 ISR 和 Edge rendering.
藉由開啟這些能力給所有框架, 透過 Build Output API, 我們給予所有框架作者, 有能力且輕鬆地整合這些原始的基礎架構, 包括:
- Edge Functions
- Serverless Functions
- Server-side Rendering(SSR)
- Static Generation
- Image Optimization
- ...等等
透過讓 .vercel/output 資料夾符合 Build Output API 規格, 就能支援這些全部的功能. 而且當你準備好部署, 如果需要, 你可以使用 vercel deploy --prebuilt 跳過建置步驟, 直接上傳 .vercel/output 資料夾.
我們相信這個步驟很重要, 當開發者有靈感時, 讓他們有能力去創造, 而且不會被基礎架構限制.
支援所有前端框架
我們參與了框架作者們, 幫助他們的專案運用 Build Output API. 做一些驚人的新能力:
- SvelteKit 現在可以用 Vercel Edge Functions 在邊緣執行
- Astro 現在可以用 Vercel Edge Functions 在邊緣執行
- Nuxt 正在處理 ISR 支援
我們對於這些開源創作者感到非常興奮. 為了要繼續在前端框架投資, Vercel 現在贊助了 Svelte, Nuxt, Astro, SilidJS 等等.