精简路径
- 使用 Webpack通过生产模式同时不压缩源码方式编译
vue.runtime.esm.js,移除一些 develop 流程中的异常提示 - 大致流程源码,手动移除一些比较明显的 Bug 适配代码
- 搬运一个 TODO MVC 的示例代码,引用精简过 Vue 代码,保证 Demo 是可以跑起来,后续抄代码也都以该 Demo 是否能跑成功为准
- 拆解文件,大多数使用重新敲一遍,强迫思考源码逻辑
- 移除一些无关主流程的代码逻辑,例如一些组件
- 适配逻辑精简,移除异常边界判断,不通数据结构判断等,最小化实现
移除功能点
- keep-alive 组件
- transition 切换效果
- 精简 nextTick 逻辑,使用 Promise.then 实现微队列
- provide、inject能力,平时项目中基本不用
- hook event 能力,平时也基本没有用过
- 一些全局函数的适配: set、del、use、extend等
精简之后代码效果: