avalon2.2 发布

发布时间:2019-08-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了avalon2.2 发布脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

经过avalon2.0.*avalon2.1.*这30多个小版本的迭代,avalon终于实现自己一套htML parser, 虚拟DOM系统与两个数组的精致diff算法,再结合mobx的一些码阅读所得,终于催生了avalon2.2。

avalon2.2是一个里程碑的版本,模块全部使用es6 module方式,并尽可能使用es6的语法来编写。使用rollup进行打包,因此现在avalon2兼容IE6的版本只要7300行代码。avalon2现代版本(IE10+)只要6300行。avalon兼容IE6的版本,强化兼容支持,其用到的vbScript代码进一步优化,并重写所有测试。avalon现代版本,则直接允许使用Proxy实现VM。这是第一个使用PRoxy做监听的MVVM框架!

  • fix IE6-8 opacITy BUG

  • 减少VM的系统属性,__const__, __data__,__proxy__,$skipArray被废掉

  • vmodel模块全部重写,让它内部用到的私用方法更加合理

  • directives模块全部重写,因为现在不走react的渲染模板思路了

  • component模块全部重写,它现在是完全独立的作用域,可能与这前的有一点不兼容。不过,这对维护组件自身的状态非常有利。

  • watch不再支持*号

  • strategy模块被打散了,细分为parser与renders与vtree这三个模块。renders里面有domRender与serverRender。

  • vdom模块,虚拟DOM转真实DOM时,对低版本浏览器的支持更好。

avalon2.2最大的优点体现在以下几处:

  • 直接开启Proxy监听时代,它比Object.defineProperty更为神通广大,所需代码更少。

  • 依赖收集与依赖追踪更完美。早期没有依赖追踪,只会第一次将指令转换为视图刷新函数时确定VM属性与视图元素的依赖关系,如果里面存在三目运算符if else时就会有些依赖没有收集到。依赖追踪保证依赖关系是最新的,当不存在依赖时,就会销耗该属性背后的一系列对象,垃圾回收。

  • 组件机制臻于完美,独立的VM,6个生命周期钩子,长驻机制。

  • 重写所有测试,基于jasmine与istanbul与karma,全部跑通IE6-11,firefox, chrome, safari与phantomjs

项目地址: https://github.com/RubyLouvre...

脚本宝典总结

以上是脚本宝典为你收集整理的avalon2.2 发布全部内容,希望文章能够帮你解决avalon2.2 发布所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。