SvelteKit 3 正式發布:設定全面移交 Vite、升級最低版本與自動遷移工具
Svelte 團隊今日正式推出全端框架 SvelteKit 3 正式版。新版最顯著的變動是將所有 SvelteKit 相關設定搬入 Vite(建置工具)的設定檔,並同步提升 Node、TypeScript、Svelte 與 Vite 的最低版本要求,同時提供 sv migrate 自動遷移工具,協助舊有專案平順升級。
背景與主要改動
-
設定集中於 Vite
以往 SvelteKit 的設定散落於
svelte.config.js,而在 3.0 版中全部改為vite.config.js(或.ts),透過 SvelteKit 的 Vite 外掛載入。此機制早在 2.62 版已試行,但 3.0 正式拋棄svelte.config.js,開發者必須手動搬移原有設定。 -
最低版本升級
-
Node:≥ 22.17
-
TypeScript:≥ 6
-
Svelte:≥ 5.57.1
-
Vite:≥ 8.0.12(外掛升至第 7 版)
這意味著升級 SvelteKit 時,往往也需要同步更新 Node、TypeScript 與 Vite,否則無法通過編譯。
-
-
匯入別名改為 #lib
之前的
$lib別名被 Node 標準的套件子路徑機制取代,改為#lib。舊專案必須把所有$lib/...的引用改寫為#lib/...,才能配合 Vite 的解析規則。 -
其他調整
-
環境變數(
env)的命名規則更趨一致。 -
Service Worker(服務工作者)與錯誤處理流程重新設計。
-
仍保留的實驗功能「Remote Functions」需要開啟相應的實驗設定才能使用,主要用於在開發階段檢查瀏覽器端呼叫伺服器端函式的型別安全。
-
升級支援:sv migrate
為降低開發者的升級負擔,官方推出 sv migrate 遷移腳本。該工具能自動搬移 Vite 設定、調整 $lib 為 #lib,以及更新部分程式碼。對於無法自動處理的地方,工具會在原始檔案留下 TODO 標記,提醒開發者手動介入。官方建議先將專案升至最新的 SvelteKit 2.x,完成所有棄用警示的修正後,再執行 sv migrate 以確保升級過程順暢。
未來展望與讀者建議
SvelteKit 3 的改版雖然在表面上只是一系列設定與相依性升級,但實質上將 Svelte 生態系與 Vite 的整合推向更深層,讓未來的插件、優化與部署流程都有更一致的基礎。對於正在評估採用 SvelteKit 的團隊,建議先檢視現有開發環境是否符合 Node 22、TypeScript 6 及 Vite 8 的需求,並在新專案中即採用 vite.config.ts 作為唯一設定入口,以免日後遷移成本增加。
總結來說,SvelteKit 3 以 設定統一、版本升級、遷移自動化 為核心,為開發者提供更乾淨、可預測的開發體驗。只要善用官方提供的遷移工具,舊專案的升級障礙將大幅降低,開發者即可把精力聚焦在功能開發與效能優化上。
