第一次用手机写文章,觉得挺有意思的。上周抽空升级了Strve.js,现在版本是2.3.3。有兴趣的朋友可以去官方文档看看。说到官方文档,有朋友说我的文档缺少可视化界面,就是那种在线编辑插件。这位朋友的建议很好,于是上网研究,最终选择了Codepen。选择它的原因是我只是在单独的页面上显示它,所以简单就足够了。其次,最近陆续更新了两个版本:2.3.3和2.3.2,我们来看看这两个版本的更新日志。v2.3.3StrveAPI参数调整;#v2.3.2HTML标签内容支持显示非字符串类型;数据绑定统一使用${}符号绑定,不再支持{}符号;视图模板支持多个根节点;view模板支持Text节点;切换条件渲染时,无法正确渲染节点;新增watchDOMChangeAPI,用于监控DOM树的变化;增加HTML模板字符串高亮(VSCode编辑器需要安装es6-string-html插件);删除StrveAPI的data属性参数;视图模板支持Class写法;这次改动也比较大,主要是内部整体优化。比如我借鉴了Vue的v-if指令内部思路实现条件渲染,利用注释节点实现DOM占位符。我觉得这是非常值得学习的。但是,仍然存在一个问题,就是虚拟DOM的量级,因为Strve.js在内部类似于React.js。数据发生变化后,通过新旧数据的Diff计算来获知数据的变化。为了突破性能瓶颈,React.js借鉴了操作系统时间分片的概念,引入了Fiber架构。通俗地说,就是将整个虚拟DOM树微观化,变成一个链表,然后我们利用浏览器的空闲时间来计算Diff。一旦浏览器需要,我们就可以搁置未完成的任务,将主进程的控制权交还给浏览器,等待浏览器下次空闲。不过相信以后这个问题会慢慢解决的。上面我们讲了React.js,我们通常的做法是在Class类中写JSX。好吧,实际上可以使用Strve.js。Strve.js的这次升级,亮点还是很多的。优化后的官方文档可以打开参考。有两种方式可以选择(复制以下地址到浏览器)。1.(中文官方文档)https://maomincoding.github.io/strvejs-doc/zh/2。(国内站)https://www.maomin.club/site/strvejs/zh/最近Strve.js不会有大版本升级,想先休息一下,再专心学习其他的。
