官方文档
3.0:https://www.vue3js.cn/docs/zh/
2.x:https://cn.vuejs.org/
默认进行懒观察
区别:vue2.x中不管数据多大,都会在一开始就为其创建观察者;当数据很大时,这可能会在页面载入时造成明显的性能压力。而vue3.0只会对“被用于渲染初始可见部分的数据”创建观察者,而且vue3.0的观察者更高效。
vue3.0和2.0的区别
vue3.0 的发布与 vue2.x 相比,优势主要体现在:更快、更小、更易维护、更易于原生、让开发者更轻松;
vue3.0和2.x区别比较多,升级需要适配工作。
3.0比2.0 快2倍
3.0去掉了filter, 么有beforeCreate created,用setup取代
3.0中生命周期函数命名修改如果mounted变为onMounted
reactivity是可以单独作为库使用的
单独功能可以抽离 取代了mixin 优于mixin 解决上下反复横跳
支持多个子节点 fragment
setup里没有this
Proxy实现响应式不需要set delete 兼容性并不好
响应式方面 性能得到很大提升 不用初始化的时候就递归遍历属性
响应式不区分数组和对象
3.0兼容IE12以上
composition api 可以和 options API 同时存在
3.0 新加入了 TypeScript 以及 PWA 的支持
更快
- virtual DOM 完全重写,mounting & patching 提速 100%;
- 更多编译时 (compile-time)提醒以减少 runtime 开销;
- 基于 Proxy 观察者机制以满足全语言覆盖以及更好的性能;
- 放弃 Object.defineProperty ,使用更快的原生 Proxy;
- 组件实例初始化速度提高 100%;
- 提速一倍/内存使用降低一半;
更小
- Tree-shaking 更友好;
- 新的 core runtime:~ 10kb gzipped;
命令发生变化
- 下载安装 npm install -g vue@cli
- 删除了vue list
- 创建项目 vue create
- 启动项目 npm run serve
- 默认项目目录结构也发生了变化
- 移除了配置文件目录,config 和 build 文件夹
- 移除了 static 文件夹,新增 public 文件夹,并且 index.html 移动到 public 中
- 在 src 文件夹中新增了 views 文件夹,用于分类 视图组件 和 公共组件