美文网首页
Svelte 是什么?

Svelte 是什么?

作者: 天問_专注于大前端技术 | 来源:发表于2021-12-30 23:49 被阅读0次

    简单来说 Svelte 是一个在编译时实现了 Reactivity (反应式) 的框架,所以它既是一个框架,同时也是一个 Compiler. 如何理解「编译时实现了 Reactivity」?先说说什么是 Reactivity.

    Svelte

    let a = 1
    let b = 2
    let c = a + b
    console.log(c) //=> 3
    a = 2
    console.log(c) //=> 3, not 4

    JavaScript 没有 Reactivity 的能力,所以即使 let c = a + b, 在改变了 a 或 b的值之后,c 不会因此而改变。真正的 Reactive 与此相反。

    Svelte 和 Vue 很像,它和 Vue 的区别是:

    实现 Reactivity 的原理都是依赖收集,但 Svelte 是在编译时完成了,Vue 在运行时收集。

    Vue 用了 Virtual DOM, Svelte 在编译时就知道它应该操作哪个 DOM

    因为所有的功能都是在编译时实现的,所以用 Svelte 写的代码非常直白 —— 像正常定义变量一样定义变量,在 HTML 里使用这个变量,修改这个变量(而且没有 this)。运行时的框架无论如何简单,至少需要你写一层 Wrapper,例如在 Vue 里你必须把状态包在 data 函数中返回。

    相关文章

      网友评论

          本文标题:Svelte 是什么?

          本文链接:https://www.haomeiwen.com/subject/kznwqrtx.html