响应式Proxy
Proxy 对比 defineProperty 不需要初始化进行深度监听数据,而是只在触发get才会对子数据进行监听
PathFlag
对模版编译对带有动态节点进行标记
<div>Hello World</div>
<div>{{msg}}</div>
<div :id="str"></div>
hoistStatic
- 把静态节点提升到父作用域缓存起来,
- 多个相连静态节点合并缓存
<div>Hello World</div>
<div>{{msg}}</div>
<div>Hello World</div>
<div>Hello World</div>
<div>Hello World</div>
<div>Hello World</div>
<div>Hello World</div>
<div>Hello World</div>
<div>Hello World</div>
<div>Hello World</div>
<div>Hello World</div>
<div>Hello World</div>
<div :id="str"></div>
cacheHandler
缓存事件
_cache[0] || (_cache[0] = (...args) => (_ctx.handle && _ctx.handle(...args)
就是存到数组里, 暂时没明白优化点在哪里,有大佬讲解吗
SSR优化
- 静态节点跳过vnode创建, 直接输出
tree-shaking
- 根据使用的的api引入对应的api, 没有使用的就不会被打包