vue3和vue2的区别?

一、好在哪里?

1、更小

引入tree-shaking,可以将无用模块“剪辑”,仅打包需要的,使打包的整体体积变小了;

2、更友好

vue3在兼顾vue2的options API的同时还推出了composition API,大大增加了代码的逻辑组织和代码复用能力;

3.proxy替换了之前的defineProperty

二、Vue3.0里为什么要用 Proxy API 替代 defineProperty API ?

1.Object.defineProperty只能遍历对象进行劫持;Proxy可以直接劫持整个对象,并且返回一个新的对象;

2.proxy可以监听数组的变化push shift splice,proxy有多达13种拦截方法,包括apply、deleteProperty等;

三、vue3的设计目标:

更小

更快

TypeScript支持

API设计一致性

提高自身可维护性

开放更多底层功能

四、Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?

1.逻辑组织更明了

2.逻辑复用性强

五、Vue 3.0中Treeshaking特性

一种通过清除多余代码方式来优化项目打包体积的技术,就是在保持代码运行结果不变的前提下,去除无用的代码。

如何做:

1.编译阶段利用ES6 Module判断哪些模块已经加载

2.判断那些模块和变量未被使用或者引用,进而删除对应代码