主要观点:Svelte 5 经过近 18 个月开发终于稳定,是项目史上最重要版本,是重写,能让应用更快、更小、更可靠,代码更一致,新人学习内容减少,且几乎与 Svelte 4 向后兼容。
关键信息:
- 开发历时 18 个月,有众多贡献者参与。
- 可通过修改
package.json
中依赖升级到 Svelte 5,如将svelte
从 4 升级到 5 等。 - 介绍了 Svelte 及其作用,是构建网页用户界面的框架,编译器能将代码转为优化的 JavaScript。
- 阐述了 Svelte 5 改变的原因,如原设计决策的局限性、性能提升需求等,引入了
runes
等机制改进。 - 提供了升级步骤,从 Svelte 3 先迁移到 4 再升级,可使用
npx sv migrate svelte-5
或 VS Code 扩展迁移组件,生态系统组件库可后续升级。 - 推出了新的命令行界面
sv
。 - 计划近期发布利用 Svelte 5 新功能的 SvelteKit 新版本。
重要细节: - 编译器将工作移到
npm run build
,使 Svelte 应用小而快。 - Svelte 4 中反应性由编译器驱动,整个对象会因单个属性改变而失效,其他框架采用基于信号的细粒度反应性。
- Svelte 4 中组件组合较笨拙,事件处理等与组件属性区分。
$:
构造易导致概念混淆和难以重构。- Svelte 5 引入
runes
用于声明反应性状态,事件处理像其他属性,slot
机制被替换等。 - 有大型健壮的组件库生态系统,支持逐步升级,最终会淘汰 Svelte 4 语法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。