Vue 3.4 发布概述
Vue 团队近期发布了 Vue 3.4 版本,该版本引入了全新的模板解析器和更高效的响应式系统,以减少不必要的组件重新渲染。
新模板解析器
Vue 团队重写了 Vue 的模板解析器。此前,Vue 使用的是基于递归下降解析器的方法,依赖大量正则表达式和前瞻搜索。新的解析器采用了基于 htmlparser2 的状态机分词器,只需遍历整个模板字符串一次。
关键改进
- 性能提升:新解析器的速度是之前的两倍,且不受模板大小影响。
- 兼容性:重写后的解析器完全向后兼容,不会引入破坏性变更。
- 生态影响:解析速度的提升将惠及整个生态系统(如 Volar、vue-tsc 等),可能缩短构建时间。
响应式系统优化
Vue 3.4 还减少了计算属性不必要的重新计算,具体改进如下:
- 计算属性值未变化时不触发依赖:如果计算属性的新值未发生变化,
computed、effect、watch、watchEffect和render的依赖将不会被触发。 - 多个计算属性仅触发一次:多个
computed仅会触发effect、同步watch和同步watchEffect一次。 - 数组操作优化:数组的
shift、unshift和splice操作仅会触发effect、同步watch和同步watchEffect一次。
这些优化有助于减少组件的重新渲染,提升整体性能。
开发者反馈
一位开发者在 Reddit 上对此次发布表示赞赏,称其为“一次不错的发布”,并表示破坏性变更在可预测范围内,且数量极少(除非使用 TSX,否则一只手就能数完)。
更多信息
开发者可以通过 Vue 3.4 发布博客 查看完整的发布特性列表。
Vue 框架简介
Vue 是一个用于构建用户界面的渐进式框架,支持单页应用开发。Vue.js 采用 MIT 开源许可证,欢迎通过 GitHub 贡献代码,贡献者需遵循 Vue.js 贡献指南。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。