Svelte團隊正式發布全端應用框架SvelteKit 3。新版沒有大幅改變既有開發模式,主要整理過去累積的設定方式與程式介面,舊專案升級時需要留意設定搬移與工具版本要求。
SvelteKit是Svelte官方的應用程式框架,讓開發者以Svelte建立同時包含網頁前端與伺服器端功能的應用程式,處理頁面路由、資料載入、伺服器端網頁產生及部署等工作。
影響最直接的是設定方式的改變。過去SvelteKit主要把相關設定放在svelte.config.js,新版改由vite.config.js或vite.config.ts統一管理,透過SvelteKit的Vite外掛載入。這套設定方式其實早在SvelteKit 2.62就已引入,只是到了3.0不再支援svelte.config.js,開發者升級舊專案時需要搬移原有設定。
開發工具的最低版本要求也同步提高。SvelteKit 3最低要求Node 22.17、TypeScript 6、Svelte 5.57.1與Vite 8.0.12,Svelte使用的Vite外掛也必須升到第7版。因此,既有專案升級時,可能需要連同Node、TypeScript及建置工具一起更新。
常用匯入別名也有調整。過去SvelteKit自行提供$lib,讓開發者用較短的路徑引用專案內共用程式,新版改採Node標準的套件子路徑匯入機制,交由既有JavaScript工具鏈處理,寫成#lib。對舊專案來說,升級時需要同步修改原有的匯入路徑。
為降低升級工作量,官方提供sv migrate遷移工具,可自動修改部分設定與程式碼,無法自動完成的地方則會留下待處理標記。官方建議先把專案升至最新的SvelteKit 2.x,先找出已標示棄用的舊功能,再遷移至3.0。
此外,SvelteKit 3也調整了環境變數、Service Worker與錯誤處理方式。
先前測試中的遠端函式(Remote Functions)則仍屬實驗功能。該機制讓瀏覽器端程式呼叫伺服器端函式時,可以在開發階段檢查資料型別,目前仍須開啟遠端函式與非同步Svelte的實驗設定才能使用。
從整體方向來看,SvelteKit 3的策略是把更多基礎能力交還給Vite與Node既有工具鏈,框架本身只做收斂整理,而非疊加新功能。
對於正在維護舊專案的團隊而言,升級的主要成本來自設定搬移、匯入路徑修改,以及Node與TypeScript等工具鏈的一併更新,建議先評估再動手。