Vue2Vue3分析

源码目录结构


Vue2 Vue3 对比

  • Vu3使用Proxy 作为响应式,天生的代理,不考虑属性重写、数组方法重写
  • Vue3diff 增加了最大递增子序列的算法,让我们移动节点,更高效
  • Vue3架构 采用 monorepo 方式,分层清晰,同时把编译部分也进行了一些拆解
  • Vue3 对编译的内容,进行了重写,template — render 函数
    • Vue2 基于正则,Vue3基于状态机
    • patchFlag 标记哪些元素包含哪些属性
    • 静态提升
  • Vue3 使用了 lockTree,对比需要改变的内容,优化性能,如果用jsx 则不会优化,但是可以自己去标记
  • Ts重构
  • compiler 拆分了四个包,方便重写
  • Vue2 options API。Vue3 composition API
  • Vue3 使用了 rollup打包,支持treeshaking
  • 实例化也有区别