【朝花夕拾】Vue2 源码精简

224 阅读1分钟

精简路径

  1. 使用 Webpack通过生产模式同时不压缩源码方式编译 vue.runtime.esm.js,移除一些 develop 流程中的异常提示
  2. 大致流程源码,手动移除一些比较明显的 Bug 适配代码
  3. 搬运一个 TODO MVC 的示例代码,引用精简过 Vue 代码,保证 Demo 是可以跑起来,后续抄代码也都以该 Demo 是否能跑成功为准
  4. 拆解文件,大多数使用重新敲一遍,强迫思考源码逻辑
  5. 移除一些无关主流程的代码逻辑,例如一些组件
  6. 适配逻辑精简,移除异常边界判断,不通数据结构判断等,最小化实现

移除功能点

  1. keep-alive 组件
  2. transition 切换效果
  3. 精简 nextTick 逻辑,使用 Promise.then 实现微队列
  4. provide、inject能力,平时项目中基本不用
  5. hook event 能力,平时也基本没有用过
  6. 一些全局函数的适配: set、del、use、extend等

精简之后代码效果:

精简后Vue地址vue.simplify.js