性能更高了,主要得益于响应式的原理换成了 proxy,VNode diff 的算法进行了优化。
体积更小了,删除了一些没必要或不常用到的 API,例如 filter、EventBus 等;按需导入,能配合 Webpack 支持 Tree Shaking。
对 TS 支持更好啦,因为它本身源码就是用 TS 重写的。
Composition API(组合 API),相比较 Vue2 的 options api,对于开发大型项目更利于代码的复用和维护。
新特性,例如 Fragment、Teleport、Suspense 等。
(@杨康康)
#一、Vue3 介绍 关于vue3的重构背景,尤大是这样说的:
「Vue 新版本的理念成型于 2018 年末,当时 Vue 2 的代码库已经有两岁半了。比起通用软件的生命周期来这好像也没那么久,但在这段时期,前端世界已经今昔非比了
在我们更新(和重写)Vue 的主要版本时,主要考虑两点因素:首先是新的 JavaScript 语言特性在主流浏览器中的受支持水平;其次是当前代码库中随时间推移而逐渐暴露出来的一些设计和架构问题」
简要就是:
利用新的语言特性(es6) 解决架构问题 #vue3 带来的哪些变化 #对于 vue 的高阶开发者 新的 RFC 机制让 Vue 新语法的讨论更加高效和透明 Vue3 提供了自定义渲染器让开发跨端应用时更加得心应手。 全部的模块使用 TypeScript 重构,能够带来更好的可维护性。 响应式系统可以单独抽离使用。 #对于 vue 的普通用户 工程化工具 Vite 带来了更丝滑的调试体验。 Vue3 内部的优化(响应式系统基于 Proxy,静态标记,tree-shaking 等),使得性能更高,体积更小 Composition API 组合语法带来了更好的组织代码的形式。 内置了新的 Fragment、Teleport 和 Suspense 等组件。 #非兼容变更 #Global API 全局 Vue API 已更改为使用应用程序实例 全局和内部 API 已经被重构为可 tree-shakable #模板指令 组件上 v-model 用法已更改