我浏览了您的文章https://svelte.dev/blog/virtual-dom-is-pure-overhead和其他一些博客,但它们解释了与虚拟dom相比,苗条的效果如何。而我想了解的是它的工作原理,无需与其他框架/概念进行比较。
我问的原因是,与dom-diffing相比,svelte似乎表现出了性能提升。那时,与DOM操纵的代码相比,DOM差异框架展示了性能提升。
我可以在哪里记录/精简编译的图形表示?
我尝试搜索一些严肃的问题/中型文章,但是没有找到我想要的东西。
我也查看了https://github.com/sveltejs/svelte/issues/1011#issuecomment-351262252,但没有找到我想要的内容,因为它解释了其中的详细信息以及它的技术实现方式。
答案 0 :(得分:3)
了解它的最简单方法是查看它生成的代码。 Visit the REPL,然后单击“ JS输出”标签。请注意,更新代码(从p
返回的create_fragment
方法)如下:
if (changed.count) {
set_data(t1, ctx.count);
}
set_data
只是textNode.data = ...
的包装。换句话说,Svelte生成的代码可根据状态更改(根据更改的值)直接更新DOM。与使用虚拟DOM的框架不同,它不需要检查或重新生成所有内容。