尤雨溪:Vue 3 将成为新的默认版本

1 月 20 日 , Vue 作者尤雨溪在 GitHub 上发布最新公告 , 表示“Vue 3 将在 2022 年 2 月 7 日成为新的默认版本!”
此前 , 尤雨溪于 2018 年宣布重写 Vue , 并在 2020 年 9 月 19 日将全新开发的 Vue 3 版本呈现到开发者眼前 。 在《 新程序员:开发者黄金十年 》中 , 当提及重写 Vue 原因时 , 尤雨溪回应道 , “重写的主要原因一个是类型系统 , 一个是内部逻辑分层 。 Vue 2 项目先基于 Java , 中期加入了 Flow 做类型检查 , 导致类型覆盖不完整 。 Flow 本身破坏性更新频繁 , 工具链支持也不理想 , 所以决定转为用 Type 重写 。 Vue 2 的内部逻辑分层不够清晰 , 对于长期维护是一个负担 , 这也是一个不重写就很难彻底改善的问题 。 ”
如今 Vue 3 经过一年多的快速迭代即将成为最新的默认版本 , 无疑也让开发者更为聚焦 。 在本次公告中 , 尤雨溪也特别提醒“务必阅读可能需要采取的措施部分 , 来确认你是否需要在默认版本切换之前做相应改动以避免发生异常 。 ”
以下为公告全文(https://gist.github.com/yyx990803/bf9a625eeff8b471bf0701afb8e3fe75#potential-required-actions):
从库到框架
在最开始的时候 , Vue 仅仅是一个运行时库 。 但这些年来 , 它已经逐步发展成了一个包含许多子项目的框架:

  • 核心库 , 即 vue npm 包
  • 内容足够当作一本书的文档
  • 构建工具链(Vue CLI、Vue Loader 和其他支持包)
  • 用于构建单页应用的路由 Vue Router
  • 用于状态管理的 Vuex
  • 用于调试和分析的浏览器开发者工具扩展
  • 用于支持开发单文件组件的 VSCode 扩展 Vetur
  • 用于进行静态风格/错误检查的 ESLint 插件
  • 用于组件测试的 Vue Test Utils
  • 利用 Vue 运行时功能的定制 JSX Babel 插件
  • 用于静态网站生成的 VuePress
正因为 Vue 是一个社区驱动的项目 , 才让这一切成为可能 。 这些项目中的许多都是由社区成员发起 , 他们后来成为了 Vue 团队的成员 。 其余的项目最初由我发起 , 但现在除了核心库之外 , 几乎都完全由团队维护 。
Vue 3 的 “软发布”
随着核心库发布新的大版本 , 框架的所有其他部分也需要一起同步更新 。 我们还需要为 Vue 2 用户提供一个升级方案 。 对于 Vue 这样一个社区驱动的团队来说 , 这是一个巨大的工程 。 在 Vue 3 的核心库完成的时候 , 框架的其他部分要么还在 beta 状态 , 要么还没有开始适配 Vue 3 。 当时我们的决定是先发布核心库 , 这样早期用户可以先用起来 , 库和上层框架的开发者也可以先适配起来 , 而我们则继续更新框架的其余部分 。
在这个过程中 , 我们依然将 Vue 2 保留为文档和 npm 安装时的默认版本 。 这是因为我们知道对于大部分用户来说 , 在 Vue 3 的其余部分完善以前 , Vue 2 仍然提供了更一致且完整的体验 。
崭新的 Vue
“软发布” 的过程比预期要长 , 但这个时刻终于到了:我们很高兴地宣布 , Vue 3 将在 2022 年 2 月 7 日成为新的默认版本 。
除了 Vue 核心库以外 , 我们还几乎改进了框架的每个方面 。
  • 基于 Vite 的极速构建工具链
  • < setup> 带来的开发体验更丝滑的组合式 API 语法
  • Volar 提供的单文件组件 Type IDE 支持
  • vue-tsc 提供的针对单文件组件的命令行类型检查和生成
  • Pinia 提供的更简洁的状态管理
  • 新的开发者工具扩展 , 同时支持 Vue 2/Vue 3 , 并且提供一个 插件系统 来允许社区库自行扩展开发者工具面板 。
我们还彻底重写了主文档 。 全新的 vuejs.org (目前处于待发布状态 , 中文版 的翻译还在进行中) 将提供最新的框架概述与开发建议、针对不同背景的用户的灵活的学习路径 , 在整个指南与示例中都能够在选项式 API 和组合式 API 之间进行切换 , 以及许多新的深入章节 。 新文档本身的网站性能也非常优秀——我们将在不久后的另一篇博文中详细探讨一下 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。