設定架構大改動,強制綁定 Vite 工具鏈

SvelteKit 3 這次改版的核心在於「整理」,將過去分散在 svelte.config.js 的設定全面遷移至 vite.config.js 或 vite.config.ts,透過 Vite 外掛統一管理。雖然此機制在 SvelteKit 2.62 已引入,但 3.0 正式終止對舊檔案的支援。開發者升級時必須搬移設定,且需同步更新 Node 22.17、TypeScript 6、Svelte 5.57.1 與 Vite 8.0.12。工具鏈版本門檻提高,是本次升級最直接的痛點。

匯入路徑與遷移工具:$lib 變 #lib

另一個關鍵變動是常用匯入別名從 $lib 改為 #lib,改採 Node 標準的套件子路徑匯入機制,交由既有 JavaScript 工具鏈處理。為降低升級阻力,官方提供 sv migrate 工具自動修改部分設定與程式碼,無法自動處理處會留下標記。官方建議先將專案升至最新 SvelteKit 2.x,再遷移至 3.0,以先識別已棄用功能。

環境變數與實驗功能調整

SvelteKit 3 同時調整了環境變數、Service Worker 與錯誤處理方式。先前測試中的遠端函式(Remote Functions)仍屬實驗功能,允許瀏覽器端呼叫伺服器端函式時檢查資料型別,但目前仍需開啟遠端函式與非同步 Svelte 的實驗設定才能使用。此次改版未改變核心開發模式,主要在於介面與設定規範的標準化。

工具鏈升級雖有痛感,但設定集中化長期將簡化維護。