精简编译背后的概念是什么?

Vet*_*vel 1 svelte

我浏览了您的文章https://svelte.dev/blog/virtual-dom-is-pure-overhead和其他一些博客,但它们解释了与虚拟dom相比,svelte更好。我想了解的是它的工作原理,无需与其他框架/概念进行比较。

我问的原因是,与dom-diffing相比,svelte展示了性能提升。那时,与DOM操纵的代码相比,DOM差异框架展示了性能提升。

我在哪里可以找到精简编译的文档/图像表示形式?

我尝试搜索过分的问题/中篇文章,但没有找到我想要的东西。

我还查看了https://github.com/sveltejs/svelte/issues/1011#issuecomment-351262252,但是没有找到我想要的内容,因为它解释了其中的详细信息以及技术上的实现方式。

Ric*_*ris 7

理解它的最简单方法是查看它生成的代码。访问REPL,然后单击“ JS输出”标签。请注意,更新代码(从p返回的方法create_fragment)如下所示:

if (changed.count) {
  set_data(t1, ctx.count);
}
Run Code Online (Sandbox Code Playgroud)

set_data只是一个包装textNode.data = ...。换句话说,Svelte生成的代码可根据状态更改(根据更改的值)直接更新DOM。与使用虚拟DOM的框架不同,它不需要检查或重新生成所有内容。