Vue 3 迁移指南笔记

544 阅读3分钟

Vue 3 迁移指南

值得注意的新特性

Vue 3 中需要关注的一些新特性包括:

新的框架级别推荐#

Vue 3 的支持库进行了重大更新。以下是新的默认建议的摘要:

  • 新版本的 Router, Devtools & test utils 来支持 Vue 3
  • 构建工具链: Vue CLI -> Vite
  • 状态管理: Vuex -> Pinia
  • IDE 支持: Vetur -> Volar
  • 新的 TypeScript 命令行工具: vue-tsc
  • 静态网站生成: VuePress -> VitePress
  • JSX: @vue/babel-preset-jsx -> @vue/babel-plugin-jsx

用于迁移的构建版本

@vue/compat (即“迁移构建版本”) 是一个 Vue 3 的构建版本,提供了可配置的兼容 Vue 2 的行为。

已知的限制

  • 基于 Vue 2 内部 API 或文档中未记载行为的依赖。最常见的情况就是使用 VNodes 上的私有 property。如果你的项目依赖诸如 VuetifyQuasar 或 Element UI 等组件库,那么最好等待一下它们的 Vue 3 兼容版本。
  • 对 IE11 的支持:Vue 3 已经官方放弃对 IE11 的支持。如果仍然需要支持 IE11 或更低版本,那你仍需继续使用 Vue 2。
  • 服务端渲染:该迁移构建版本可以被用于服务端渲染,但是迁移一个自定义的服务端渲染配置还有很多工作要做。大致的思路是将 vue-server-renderer 替换为 @vue/server-renderer。Vue 3 不再提供一个包渲染器,且我们推荐使用 Vite 以支持 Vue 3 服务端渲染。如果你正在使用 Nuxt.js,可以尝试 Nuxt Bridge,一个 Nuxt.js 2 到 3 的兼容层。对于复杂、生产环境的项目来说,可能更好还是等待一下 Nuxt 3。

非兼容性改变

全局API

模板指令

组件

渲染函数

自定义元素

其他小改变

被移除的 API