Vue 2 和 Vue 3 的 6 个不同点

1、响应式系统

Vue 2 是基于 defineProperty 拦截具体某个属性,Vue 3 基于的 Proxy 才是真正的“代理”。

defineProperty 对不存在的属性无法拦截,所以 Vue 2 中所有数据必须要在 data 里声明。

2、自定义渲染器

Vue 2 所有模块是混杂在一起的,不利于扩展。

Vue 3 将响应式、运行时的相关功能都拆成了独立模块,渲染的逻辑也拆成了 “平台无关渲染逻辑” + “特定平台渲染 API”(比如 Web 开发就加入浏览器 API)

3、使用TypeScript 重构

ts 的好处就不多说了

4、Composition API

API 都通过 import 引入,对 tress-shaking 友好

通过将业务逻辑聚合到 setup 函数中,增强了代码的复用性,也减轻了编码时反复上下横跳的问题。

5、新组件

Fragment 允许 Vue 3 组件有多个根节点,清除了很多无用的占位 div。

Teleport 允许组件渲染在别的元素内,对弹窗组件的开发特别有用。

Suspense 异步组件,在异步请求没返回时可以方便的加入 loading 状态。

6、Vite

Vite 是新一代工程化工具,对标 webpack。

相比 webpack,vite 去掉了预打包的过程

posted @ 2022-02-28 10:20  尹宇星_Kim  阅读(185)  评论(0编辑  收藏  举报