**1.项目目录结构
vue-cli2.0 与 3.0 在目录结构方面,有明显的不同
vue-cli3.0 移除了配置文件目录,config 和 build 文件夹
同时移除了 static 静态文件夹,新增了 public 文件夹,打开层级目录还会发现, index.html 移动到 public 中
2.配置项
3.0 config 文件已经被移除,但是多了.env.production 和 env.development 文件,除了文件位置,实际配置起来和 2.0 没什么不同
没了 config 文件,跨域需要配置域名时,从 config/index.js 挪到了 vue.config.js 中,配置方法不变
3.渲染
Vue2.x 使用的 Virtual Dom 实现的渲染
Vue3.0 不论是原生的 html 标签还是 vue 组件,他们都会通过 h 函数来判断,如果是原生 html 标签,在运行时直接通过 Virtual Dom 来直接渲染,同样如果是组件会直接生成组件代码
4.数据监听
Vue2.x 大家都知道使用的是 es5 的 object.defineproperties 中 getter 和 setter 实现的,而 vue3.0 的版本,是基于 Proxy 进行监听的,其实基于 proxy 监听就是所谓的 lazy by default,什么意思呢,就是只要你用到了才会监听,可以理解为‘按需监听’,官方给出的诠释是:速度加倍,同时内存占用还减半。
4.按需引入
Vue2.x 中 new 出的实例对象,所有的东西都在这个 vue 对象上,这样其实无论你用到还是没用到,都会跑一变。而 vue3.0 中可以用 ES module imports 按需引入,如:keep-alive 内置组件、v-model 指令,等等。
List item
**