重写虚拟dom,效果显著提升
Vue3 新增了静态标记(PatchFlag),只比对带有 PF 的节点
跳过静态(常量)节点,只处理动态(模板)节点。从而提升巨大性能
提升网络加载性能:tree-shaking机制
解释:把无用的模块进行“剪切”,很多没有用到的API就不会打包到最后的包里
vue3一个比较大的显著的区别就是,当你用一个bundler的时候,比如webpack或者rollup,webpack和rollup都是有tree shaking功能,但是tree shaking的前提是所有的东西都必须用ES6 module的import来写
Tree-shaking某种程度上来讲,也是通过编译器去实现的
原理:依赖es6的模块化的语法,将无用的代码(dead-code)进行剔除
完全typescript支持
ts强大的类型系统,类型提示
vue3支持情况:完全ts重写。但并不是之前js写的要改ts。就算是用js开发也是尽量的保证相应的提示。
COMPOSITION API
除了逻辑复用,也会有更好的类型支持,因为他们都是一些函数,在调用函数时,自然所有类型都推导出来了,不像vue2.0 options api所有东西使用this,compositon api对tree shaking友好,代码易于压缩
composition-api可以把你的逻辑,各种数据,代码等全都混到这个组件里,越来越像React Hooks的方式