vue3.0 变化点

vue3.0 变化点:

1.源码体积优化:
  • 引入tree-shaking:通过编译阶段的静态分析,找到没有引入的模块并打上标记,然后在压缩阶段会删除这些没有用的代码

  • 如果在项目中没有引入transition、keepAlive等组件,那么他们对应的代码就不会打包,从而减少项目引入vue.js包体积的目的

2.数据劫持优化:
  • vue2.0通过object.defineProperty 这个API劫持数据的getter 和 setter,把每一层对象数据都变成响应式,如果对象嵌套层级比较深,就会有一些性能问题
  • vue3.0是通过 proxy 这个API进行数据劫持,劫持的是整个对象,是通过在getter中递归响应式,即真正访问到内部对象才会变成响应式,一定程度上提升了性能
3.编译优化:
  • 当整个模版只有少量动态节点时,vue2.0会遍历和diff所有节点,而vue3.0在编译阶段对静态模版的分析,编译生成了block tree
4.语法API优化:
  • 提供了 Composition API,将某个逻辑关注点相关的代码全都放在一个函数里,当需要修改一个功能时,就不需要在文件中跳来跳去

你可能感兴趣的:(vue3.0 变化点)