划重点:Vue 3 将在 2022 年 2 月 7 日正式成为捷伊预设版!
请亦须阅读可能将须要采取的措施[1]部份,来证实你是否须要在预设版转换之前做相应更动以防止发生极度。
从库到架构
在最已经开始的这时候,Vue 实际上是两个运转TinyOS。但前些年,它已经逐步发展成了两个包涵很多子工程项目的架构:
核心理念库,即 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[2] 的全速构筑工具链<script setup> 带来的合作开发新体验更丝滑的复合式 API 句法Volar[3] 提供更多的单文档模块 TypeScript IDE 全力支持vue-tsc[4] 提供更多的针对单文档模块的命令行类型检查和和聚合Pinia[5] 提供更多的更简洁的状况管理捷伊合作开发人员辅助工具扩充,同时全力支持 Vue 2/Vue 3,并且提供更多两个应用程序系统[6]来允许街道社区库自行扩充合作开发人员辅助工具面板。他们还彻底重写了主文档格式。全捷伊 vuejs.org[7] (目前处于待正式发布状况,中文版[8]的翻译还在进行中) 将提供更多最捷伊架构概述与合作开发建议、针对不同背景的使用者的灵活的学习路径,在整个指南与示例中都能够在选项式 API 和复合式 API 之间进行转换,以及很多捷伊深入章节。新文档格式本身的中文网站性能也非常优秀——他们将在不久后的另一篇博文中详细探讨一下。
版转换细节
下面是他们所说的“捷伊预设版”的具体细节。此外,请阅读可能将须要采取的措施[9]部份,来证实你是否须要在预设版转换之前做相应更动以防止发生极度。
npm 正式发布标签
npm install vue 将预设加装 Vue 3。
所有其它官方 npm 包的 latest 正式发布标签将指向其 Vue 3 的兼容版,包括 vue-router、vuex、vue-loader 和 @vue/test-utils。
官方文档格式与站点
所有的文档格式和官方站点将预设转换到 Vue 3 版。包括:
vuejs.orgrouter.vuejs.orgvuex.vuejs.orgvue-test-utils.vuejs.org (将迁移到 test-utils.vuejs.org)template-explorer.vuejs.org请注意,捷伊 vuejs.org 将是完全重写的版[10],而不是目前部署在 v3.vuejs.org 的版。
这些站点当前的 Vue 2 版将被迁移到新地址 (版前缀表示库的各自版,而非 Vue 核心理念库的版):
vuejs.org -> v2.vuejs.org (旧的 v2 网址将自动重定向到新地址上)router.vuejs.org -> v3.router.vuejs.orgvuex.vuejs.org -> v3.vuex.vuejs.orgvue-test-utils.vuejs.org -> v1.test-utils.vuejs.orgtemplate-explorer.vuejs.org -> v2.template-explorer.vuejs.orgGitHub 仓库
在写这篇文章时,仓库相关的变化已经生效了。
vuejs 组织下的所有 GitHub 仓库将把预设分支转换到 Vue 3 对应的版。此外,以下仓库都将被重命名,以删除其名称中的 next:
vuejs/vue-next -> `vuejs/core`[11]vuejs/vue-router-next ->`vuejs/router`[12]vuejs/docs-next -> `vuejs/docs`[13]vuejs/vue-test-utils-next ->`vuejs/test-utils`[14]vuejs/jsx-next -> `vuejs/babel-plugin-jsx`[15]此外,主文档格式的翻译仓库将被移至 `vuejs-translations` 组织[16]下。
GitHub 会自动处理仓库的重定向,所以之前的源码与 issue 问题的链接应该仍然有效。
合作开发人员辅助工具扩充
合作开发人员辅助工具 v6 目前是正式发布到 Chrome Web Store 的 beta 频道[17]下的,在版转换后,将移至稳定频道[18]。
目前的稳定频道仍然可用。它将被迁移到遗留频道[19]。
可能将须要采取的措施 {#potential-required-actions}
使用未指定版的 CDN 链接
如果你通过 CDN 链接使用 Vue 2 而没有指定版,请确保通过 @2 来指定两个版范围:
– <script src=”https://unpkg.com/vue”></script>+ <script src=”https://unpkg.com/vue@2″></script>– <script src=”https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js”></script>+ <script src=”https://cdn.jsdelivr.net/npm/vue@2/dist/vue.min.js”></script>注意:即使使用 Vue 3,你也应该始终在生产环境指定两个版范围,以防止意外地加载到未来的大版。
npm latest 标签
如果你使用 latest 标签或 * 来从 npm 加装 Vue 或其它官方库,请预览为明确使用兼容 Vue 2 的版:
{
“dependencies”: {
– “vue”: “latest”,+ “vue”: “^2.6.14”,– “vue-router”: “latest”,+ “vue-router”: “^3.5.3”,– “vuex”: “latest”+ “vuex”: “^3.6.2”},
“devDependencies”: {
– “vue-loader”: “latest”,+ “vue-loader”: “^15.9.8”,– “@vue/test-utils”: “latest”+ “@vue/test-utils”: “^1.3.0”}
}
相关链接
[1]
可能将须要采取的措施: #potential-required-actions
[2]
Vite: https://vitejs.dev/
[3]
Volar: https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar
[4]
vue-tsc: https://github.com/johnsoncodehk/volar/tree/master/packages/vue-tsc
[5]
Pinia: https://pinia.vuejs.org/
[6]
应用程序系统: https://devtools.vuejs.org/plugin/plugins-guide.html
[7]
全捷伊 vuejs.org: https://staging.vuejs.org
[8]中文版: https://staging-cn.vuejs.org
[9]可能将须要采取的措施: #potential-required-actions
[10]完全重写的版: https://staging.vuejs.org
[11]vuejs/core: https://github.com/vuejs/core
[12]vuejs/router: https://github.com/vuejs/router
[13]vuejs/docs: https://github.com/vuejs/docs
[14]vuejs/test-utils: https://github.com/vuejs/test-utils
[15]vuejs/babel-plugin-jsx: https://github.com/vuejs/babel-plugin-jsx
[16]vuejs-translations 组织: https://github.com/vuejs-translations
[17]beta 频道: https://chrome.google.com/webstore/detail/vuejs-devtools/ljjemllljcmogpfapbkkighbhhppjdbg
[18]稳定频道: https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd
[19]遗留频道: https://chrome.google.com/webstore/detail/vuejs-devtools/iaajmlceplecbljialhhkmedjlpdblhp
作者:尤雨溪
https://zhuanlan.zhihu.com/p/460055155
推荐阅读:深入浅出 33 道 Vue 99% 出镜率的面试题
VUE中文街道社区编程技巧 · 行业秘闻 · 技术动向