Vue 3.0 在编译方面有哪些优化?
Vue 3.0 在编译方面有哪些优化?
1、Fragments(升级vetur插件):template中不需要唯一根节点,可以直接放文本或者同级标签。
2、静态提升(hoistStatic):当使用 hoistStatic 时,所有静态的节点都被提升到 render 方法之外.只会在应用启动的时候被创建一次,之后使用只需要应用提取的静态节点,随着每次的渲染被不停的复用。
3、patch flag:在动态标签末尾加上相应的标记,只能带 patchFlag 的节点才被认为是动态的元素,会被追踪属性的修改,能快速的找到动态节点,而不用逐个逐层遍历,提高了虚拟dom diff的性能。
4、缓存事件处理函数cacheHandler,避免每次触发都要重新生成全新的function去更新之前的函数。
5、tree shaking:通过摇树优化核心库体积,减少不必要的代码量