全端框架SvelteKit 3整理開發工具鏈,舊專案升級需更新設定與工具版本
站內可閱讀至 (台北時間)

Svelte團隊正式發布全端應用框架SvelteKit 3,新版調整專案設定方式,將SvelteKit相關設定集中到Vite設定檔,同時提高開發工具的最低版本要求,包括採用TypeScript 6與建置工具Vite 8。官方也提供自動遷移工具,協助既有專案升級。
SvelteKit是Svelte官方的應用程式框架,讓開發者以Svelte建立同時包含網頁前端與伺服器端功能的應用程式,處理頁面路由、資料載入、伺服器端網頁產生及部署等工作。SvelteKit 3沒有大幅改變既有開發模式,本次改版主要整理過去累積的設定方式與程式介面。
其中較直接影響既有專案的是設定方式,過去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版。因此,既有專案升級SvelteKit時,可能需要連同Node、TypeScript及建置工具一起更新。
另一個改變是常用的$lib匯入別名改成#lib。過去SvelteKit自行提供$lib,讓開發者用較短的路徑引用專案內共用程式,新版則改採Node標準的套件子路徑匯入機制,交由既有JavaScript工具鏈處理。對舊專案來說,升級時需要同步修改原有的匯入路徑。
為降低升級工作量,官方提供sv migrate遷移工具,可自動修改部分設定與程式碼,無法自動完成的地方則會留下待處理標記。官方建議先把專案升至最新的SvelteKit 2.x,再遷移至3.0,以便先找出已標示棄用的舊功能。
SvelteKit 3也調整環境變數、Service Worker與錯誤處理方式。先前測試中的遠端函式(Remote Functions)則仍屬實驗功能。該機制讓瀏覽器端程式呼叫伺服器端函式時,可以在開發階段檢查資料型別,目前仍須開啟遠端函式與非同步Svelte的實驗設定才能使用。