Vue 34 “灌篮高手”发布 - OSCHINA
摘要:。在旧版本,Vue 使用递归下降解析器,该解析器依赖了大量正则表达式和前向搜索。 新的解析器使用基于htmlparser2的状态机 tokenizer(分词器),它仅迭代整个模板字符串一次。结果是
。在旧版本,Vue 使用递归下降解析器,该解析器依赖了大量正则表达式和前向搜索。
新的解析器使用基于htmlparser2的状态机 tokenizer(分词器),它仅迭代整个模板字符串一次。结果是对于所有尺寸的模板而言,解析器始终优化 2 倍。得益于 Vue 广泛的测试用例和 ecosystem-ci,它也 100% 向后兼容 Vue 终端用户。
在将新的解析器与系统的其他部分集成时,开发团队还发现了进一步优化整体 SFC 编译性能的机会。基准测试显示,在生成源码映射的同时,编译 Vue SFC 的脚本和模板部分的时候,性能优化了约 44%,因此 Vue 3.4 应该会优化大多数使用 Vue SFC 的项目构建。
但是请注意,Vue SFC 编译只是现实项目中整个构建过程的一部分。与单独的基准测试相比,端到端构建时间的最终收益可能要小得多。
在 3.4 之前的版本,每当count.value变更时,即使计算结果不变,也会触发watchEffect的回调。通过 3.4 优化,现在仅当计算结果实际发生变更时才会触发回调。
Vue 团队表示,最初他们担心这种用法会与布尔属性混淆。但在重新审视该功能后,考虑到其动态特性,他们认为v-bind的行为比原生属性更像 JavaScript 是有意义的。
开源日报:Vue.js 诞生 10 周年;扎克伯格解释 Meta 为什么要开源其 AI 技术
相关推荐: