Svelte 5 已经发布,这标志着该 Web 框架背后的团队所描述的“项目历史上最重要的版本”,经过了 18 个月的密集开发。
该 Web框架的最新版本是经过彻底重写的,有望提高性能、减小包大小并增强可靠性。尽管进行了这些重大更改,但该框架仍保持与 Svelte 4 几乎完全向后兼容,从而确保大多数开发人员能够无缝过渡。
Svelte 5 的一项重要创新是引入了“runes”,这是一种用于声明反应状态的显式机制。这解决了上一版本编译器驱动的反应系统中的局限性,即更改单个属性会使整个对象无效。
“由于编译器将大量工作从浏览器转移到 npm run build,因此 Svelte 应用体积小且运行速度快,”该团队解释道。“但除此之外,Svelte 的设计初衷是提供一种令人愉快且直观的应用构建方式:它优先考虑完成任务。”
此次更新引入了原生 TypeScript 支持,不再需要预处理器,并对组件组合进行了重大改进。事件处理程序现在被视为标准 props,为库作者和开发大型应用程序的开发人员提供了更大的灵活性。
框架的插槽机制已彻底改造,用更强大的 {#snippet …} 实现取代了之前的语法。这些变化伴随着大量性能优化和错误修复。
对于希望升级的开发人员,可以使用npx sv move svelte-5迁移整个应用程序,或者通过 VS Code 的Svelte 扩展进行单个组件迁移。重要的是,现有的 Svelte 4 应用程序将继续运行,从而允许逐步迁移到新语法。
该版本还引入了一个名为“sv”的新命令行界面(CLI),该团队承诺即将推出的 SvelteKit 版本将利用 Svelte 5 的新功能。
展望未来,Svelte 团队表示,此版本为 Svelte 4 无法实现的未来改进奠定了基础。