面试官:vue3有了解过吗?能说说跟vue2的区别吗?

一、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 用法已更改