首页 › AI快讯 › SvelteKit 3 进入 RC 阶段:配置文件迁移至 V

SvelteKit 3 进入 RC 阶段:配置文件迁移至 Vite,$lib 别名改为 #lib

希
希鸥网AIGC专员
· 2026-10-24 · AI快讯 · 来源:InfoQ 中国 1,552 次阅读

Svelte 团队已推动 SvelteKit 3 进入候选发布阶段。此次更新的定位是清理旧代码、为框架未来演进奠定基础,而非一次包含大量新功能的发布。如果测试顺利,预计随后将发布稳定版本,且不会再有破坏性变更。

最主要的变化是配置位置。SvelteKit 2 中的 svelte.config.js 已被移除,配置现在位于 vite.config.ts 中,使 Vite 插件能够同步读取配置,而不必等待异步解析步骤。参考文档指出,通过 Vite 进行配置早在 2.62 版本中就已引入,此次候选版本是对已经开始的迁移过程作出最终确认。

争议最大的一项变化是移除 $lib 别名,改用 #lib。后者依赖在 package.json 中声明的 Node 原生子路径导入,而不是使用需要 Vite 和 TypeScript 协同处理的 SvelteKit 专用路径。开发者现在还需要添加文件扩展名,即把 $lib/foo 改为 #lib/foo.js。在最初的 GitHub Issue 中,维护者 Rich Harris 表示,自己“很希望所有人都使用 nodenext”,但无扩展名导入可能会让“用户反感”,并补充称,任何反对这一变化的人“始终可以创建自己的别名”。

其他变化包括:tsconfig.json 现在继承 $app/tsconfig,而不是生成的 .svelte-kit 文件;Service Worker 从 $app/env、$app/paths 和新的 $app/manifest 模块中获取内容;显式环境变量结束实验阶段,并可选择使用 Standard Schema 进行验证。由于 SvelteKit 3 要求使用 Svelte 5,错误处理也得到改进:+error.svelte 组件会在加载失败和渲染失败时显示,所有错误都会流经 handleError,堆栈跟踪也会获得 Source Map。浅层路由从 pushState 迁移到 goto,并使用 shallow: true 选项。

在底层,SvelteKit 3 现在要求使用 Vite 8 及其 Rolldown 打包器,以实现更快的构建。该团队拒绝采用 FetchableDevEnvironment,理由是它迫使框架承担过多复杂性。仍然隐藏在实验性标志之后的是远程函数,这是一种类型安全的客户端—服务器 RPC 方法,与 React Server Actions 和 Next.js 服务器函数相呼应。SvelteKit 是 Svelte 的官方应用框架,由目前已加入 Vercel 的 Svelte 团队维护,自 2022 年末发布 1.0 版本以来,已成为构建 Svelte 应用的默认方式。

📖 阅读本文共 1,552 次 2026年10月24日 08:30
📱 长按识别 分享给好友~
视频号二维码

扫码查看视频号

客服头像 咨询 咨询