Svelte 团队在 10 月 1 日发布了 SvelteKit 3。官方描述很克制:还是那个框架,只是更精致、类型更安全、冗余更少。但对已有项目来说,破坏性变更是实打实的。
最容易被感知的变动:配置文件搬家。
- 配置从 svelte.config.js 迁到 vite.config.ts。
- 也就是和构建工具的配置合并到一处。
- 好处是少一套配置约定,代价是所有引用旧配置的脚本和文档都要改。
第二处:别名从 $lib 改成 #lib。
- 改用 Node 标准的子路径导入机制。
- 不再依赖框架自己发明的解析规则。
- 所有 import 语句里写死的 $lib 都要跟着改。
迁移有官方自动化工具:
- 在项目根目录执行 sv migrate sveltekit-3,加 --tasks all 跑全部任务。
- 工具会自动改掉能改的部分,剩下的生成一份待办清单。
- 对大项目来说,自动化覆盖率决定了人工核对的范围。
几个实战建议:
- 迁移前先保证测试能跑通,否则你没法判断迁移有没有改坏东西。
- 单独开分支迁移,别在功能分支上顺手做。
- 迁移完专门检查动态 import、路径别名在 CSS 和配置文件里的引用,这些地方自动迁移常常漏。
- 检查 CI 里的路径相关配置,尤其是构建产物的路径假设。
还有一项能力没就绪: 远程函数。官方说这是当前最高优先级,但这一版里还不能正式用,因为它依赖 Async Svelte,而后者目前还要打开实验性开关。团队的选择是先发布打磨好的部分,而不是为了版本号凑功能。这个态度值得点赞。
顺带提一句,11 月 19 到 20 日在斯洛文尼亚卢布尔雅那有 Svelte Summit,同期还有 Svelte 十周年活动。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。