SvelteKit(SvelteKit)3.0 版本作为 Svelte(Svelte)的官方应用框架现已发布。若使用过早期版本,整体体验十分熟悉,只是在原有基础上多了些打磨、增强了类型安全并去除了冗余部分。通过 sv migrate 命令可尽可能无缝迁移代码库,自动完成大部分迁移并生成待办列表,新建应用则运行 sv create 命令。此次主要版本更新包含少量破坏性变更,配置现位于 vite.config.ts 而非 svelte.config.js,且 $lib 别名改为 #lib 以使用标准子路径导入。
正文
Svelte 的官方应用框架 SvelteKit 3.0 现已发布。
如果你用过早期版本,一切都会觉得很熟悉——同一个框架,只是更完善、类型更安全、冗余更少。我们提供了 sv migrate 命令(npx sv migrate sveltekit-3 --tasks all --confirm),尽可能自动迁移代码库,并为其余部分生成待办清单。
要创建新应用,运行 sv create(npx sv create my-new-app)。
和任何大版本升级一样,有一些破坏性变更需注意,详见迁移指南或近期的候选版公告。
主要亮点:
- 配置现位于 vite.config.ts 而非 svelte.config.js
- $lib 别名现为 #lib,使用标准的 subpath imports
- 环境变量更强大且更易用
- service workers 减少了样板代码
- 全面改进了错误处理
远程函数准备好了吗?
还没完全好,但这是我们的最高优先级!
远程函数是一套用于安全、高效、类型安全的客户端-服务器通信的工具。你可能在其他框架见过类似思路,但我们相信你会更喜欢这个。
使用它们需要 Async Svelte,目前还需开启 experimental 标志,请多包涵。
评论
多数开发者盛赞 SvelteKit 的开发体验与轻量特性,少数人质疑在 AI 代理编程时代框架选择是否仍有意义,或期待更多功能就绪。
认为 SvelteKit 提供最佳的开发者体验
- 大量用户表示相比 Next.js 或 Nuxt,SvelteKit 连贯周全、开发体验清新愉悦,许多人已全面迁移且不愿回头(高赞 / 较多人) > 它对我来说如同清新的空气,比起工作中的 Next.js 我更偏爱它(@blakeashleyjr)
认为 Svelte 贴近原生 HTML 且轻量高效
- 用户欣赏其接近裸 HTML 的简洁,不必追赶 React 生态,并能通过 Wails 等打包出小于 20MB 的多平台二进制,远胜 Electron(较多人) > 最喜欢的是它更接近原生 HTML,不必紧跟 React 的演进(@killingtime74)
认为 SvelteKit 重打磨而非堆砌新特性
- 有开发者指出从测试版起使用未见问题,其优势在于完善既有功能而非引入大量新概念(较多人) > 最好的一点是几乎不加入新特性,而是改进现有特性(@chrysoprace)
期待远程函数等功能成熟
- 个别用户仍在等待远程函数等能力正式就绪,反映出对少数未完工特性的关注(少数人) > 还在等远程函数功能就绪(@sharktheone)
认为应关注与 Vue/Nuxt 的对比及 AI 编程体验差异
- 部分用户询问有经验者对比 Svelte 与 Vue/Nuxt,或好奇在 AI 辅助编程下与 React 的体验差异(少数人)
认为框架选择不如 AI 代理产出质量重要
- 有人提出在代理编程时代框架之争已无意义,只要能自动达成高质量结果并写好验收测试即可(少数人) > 只要代理能写出高质量结果就行,写好验收测试便罢(@sghiassy)
有价值的补充
- 结合 Wails 与 Go 后端,SvelteKit 可作为桌面与移动端应用框架,生成的二进制体积不到 20MB,远优于 Electron(@jamies)