Vuejs 3.0 正式版发布!One Piece. 代号:海贼王

news/2024/11/8 16:51:56/

文末有送书福利

译者:夜尽天明 (译者授权转载)

原文地址:https://mp.weixin.qq.com/s/0oet-MTo__LWNZNYl5Fpqw

Vue 团队于 2020 年 9 月 18 日晚 11 点半发布了 Vue 3.0 版本。

那个男人总喜欢在深夜给我们带来意外惊喜!

以下为 Vuejs Release 3.0 机器翻译文章,原文 v3.0.0 One Piece。

https://github.com/vuejs/vue-next/releases/tag/v3.0.0

# Vue 3.0 发布

今天,我们很荣幸地宣布 Vue.js 3.0“One Piece”的正式发布。这个框架的新的主要版本提供了改进的性能、更小的捆绑大小、更好的 TypeScript 集成、用于处理大规模用例的新 API,以及为框架未来的长期迭代奠定了坚实的基础。

3.0 版本代表了两年多的开发努力,包括 30+ RFC,2600 多个提交,99 个贡献者的 [628 个 PR],以及核心仓库之外的大量开发和文档工作。在此,我们要对我们的团队成员、贡献者的拉取请求、赞助商和支持者的资金支持,以及更广泛的社区参与我们的设计讨论并为预发布版本提供反馈表示最深切的感谢。Vue 是一个独立的项目,是为社区而创建的,也是由社区来维持的,如果没有您的一贯支持,Vue 3.0 是不可能实现的。

## 进一步推进“渐进式框架”概念。

Vue 从一开始就有一个简单的使命:成为一个任何人都能快速学会的平易近人的框架。随着我们用户群的增长,框架的范围也在不断扩大,以适应不断增长的需求。随着时间的推移,它演变成了我们所说的“渐进式框架”:一个可以逐步学习和采用的框架,同时随着用户应对越来越多的需求场景而提供持续的支持。

今天,我们在全球拥有 130 多万用户 *,我们看到 Vue 被应用于各种不同的场景,从在传统的服务器渲染的页面上添加交互性,到拥有数百个组件的完整的单页应用。Vue 3 将这种灵活性进一步提升。

## 分层内部模块

Vue 3.0 核心仍然可以通过一个简单的 <script> 标签来使用,但它的内部结构已经被重新编写成一个解耦模块的集合。新的架构提供了更好的可维护性,并允许终端用户通过 tree-shaking 减少多达一半的运行时大小。

这些模块还暴露了底层的 API,解锁了许多高级用例。

  • 编译器支持自定义 AST 转换,用于构建时的自定义 (例如构建时的 i18n)。

  • 核心运行时提供了一级的 API,用于创建针对不同渲染目标 (如原生移动端、WebGL 或终端 的自定义渲染器。默认的 DOM 渲染器也是使用相同的 API 构建的。

  • @vue/reactivity 模块导出的函数可以直接访问 Vue 的反应性系统,并且可以作为一个独立的包使用。它可以与其他模板解决方案 (如 lit-html 配对使用,甚至在非 UI 场景中使用。

## 解决规模问题的新 API

在 Vue 3 中,基于对象的 2.x API 基本没有变化。不过,3.0 还引入了 Composition API——一套新的 API,旨在解决 Vue 在大规模应用中的使用痛点。组成 API 建立在反应性 API 之上,实现了类似于 React 钩子的逻辑组成和重用,比 2.x 基于对象的 API 更灵活的代码组织模式和更可靠的类型推理。

Composition API 也可以通过 @vue/composition-api 插件与 Vue 2.x 一起使用,目前已经有适用于 Vue 2 和 3 的组成 API 实用库 (如 vueuse、vue-composable。

### 性能改进

Vue 3 与 Vue 2 相比,在捆绑大小 (tree-shaking 时减少了 41%)、初始渲染 (快了 55%)、更新 (快了 133%) 和内存使用 (少了 54%) 方面都有显著的性能提升。

在 Vue 3 中,我们采取了“compiler-informed 虚拟 DOM”的方法:模板编译器执行积极的优化,并生成渲染函数代码,以提升静态内容,为绑定类型留下运行时提示,最重要的是,扁平化模板内的动态节点,以减少运行时遍历的成本。因此,用户可以获得两全其美的效果:从模板中获得编译器优化的性能,或者在用例需要时通过手动渲染函数直接控制。

### 改进的 TypeScript 集成

Vue 3 的代码库是用 TypeScript 编写的,具有自动生成,测试和捆绑的类型定义,因此它们始终是最新的。Composition API 可以很好地处理类型推断。Vetur 是我们的官方 VSCode 扩展,现在利用 Vue 3 改进的内部键入功能支持模板表达式和 props 类型检查。哦,如果您愿意,Vue 3 的打字完全支持 TSX。

### 实验特性

我们为单文件组件 (SFC,即 .vue 文件) 提出了两个新特性:

  • <script setup>:在 SFC 中使用 Composition API 的语法糖

  • <style vars>:单文件组件中状态驱动 CSS 变量

这些功能已在 Vue 3.0 中实现并可用,但仅出于收集反馈的目的而提供。在 RFC 合并之前,它们将保持试验状态。

我们还实现了一个当前未公开的 <Suspense> 组件,该组件允许在初始渲染或分支开关上等待嵌套的异步依赖项 (异步组件或具有 setup() 的组件)。我们正在与 Nuxt.js 团队一起测试和迭代此功能 (Nuxt 3 即将发布,并且很可能会在 3.1 版中将其固化。

## 分阶段发布流程

Vue 3.0 的发布标志着该框架的全面就绪。尽管某些框架子项目可能仍需要进一步的工作才能达到稳定状态 (特别是 devtools 中的路由器和 Vuex 集成),但我们认为今天使用 Vue 3 启动新的绿色项目是合适的。我们还鼓励图书馆作者开始升级您的项目以支持 Vue 3。

请查阅 Vue 3 工具库指南以获取有关所有框架子项目的详细信息。

## 迁移和 IE11 支持

由于时间限制,我们已推迟了迁移版本 (具有 v2 兼容行为的 v3 版本 + 迁移警告) 和 IE11 版本,并计划在 2020 年第四季度重点关注它们。因此,计划迁移现有 v2 应用程序的用户或要求 IE11 支持人员此时应意识到这些限制。

### 下一步

发布后的短期内,我们将专注于:

  • 迁移版本

  • IE11 支持

  • 新 devtools 中的 Router 和 Vuex 集成

  • Vetur 中模板类型推断的进一步改进

目前,面向 Vue 3 和 v3 的项目的文档网站,GitHub 分支和 npm dist 标签将保持在下一个状态。这意味着 npm install vue 仍将安装 Vue 2.x,npm install vue@next 将安装 Vue 3。我们计划在 2020 年底之前将所有文档链接,分支和 dist 标签切换为默认值 3.0。

同时,我们已经开始计划 2.7,这将是 2.x 发行版的最后一个计划的次要发行版。2.7 将向后移植来自 v3 的兼容改进,并发出有关 v3 中已删除/更改的 API 使用情况的警告,以帮助潜在的迁移。我们计划在 2021 年第一季度开发 2.7,它将在发布后直接变为 LTS,预计有 18 个月的维护时长。

## 尝试一下

要了解有关 Vue 3.0 的更多信息,请访问我们的[新文档网站](https://v3.vuejs.org/](https://v3.vuejs.org/)。如果您是现有的 Vue 2.x 用户,请直接转到迁移指南。

https://v3.vuejs.org/

  • 根据 Google 报告的每周 Vue Devtools Chrome 扩展活跃用户。

  • (另外:Vue 3 官方中文文档仓库在这里)

https://github.com/vuejs/docs-next-zh-cn

为了方便大家更好的交流与学习,我们决定创建一个「前端交流群」,分享些技术干货和前沿资讯,为大家提供一个更好的技术交流渠道!谢绝一切的公众号主!进群福利:在群里送出几本《Vue从入门到项目实战》实体书!如果群满200人,可添加我个人微信【 ikoala520 】

书籍介绍:开发理论与编码实践结合,让你不仅学有所成,更能学以致用!系统:从点到面讲解,循序渐进,有条有理;  深入:以底层筑基实现上层运用,让你知其所以然;实用:提供62个应用案例,以实践检验真理; 实战:4种常见类型网站实例,避免纸上谈兵;免费提供配套源程序下载+精彩视频学习教程

❤️爱心三连击1.看到这里了就点个在看支持下吧,你的「点赞,在看」是我创作的动力。
2.关注公众号程序员成长指北,回复「1」加入Node进阶交流群!「在这里有好多 Node 开发者,会讨论 Node 知识,互相学习」!
3.也可添加微信【ikoala520】,一起成长。“在看转发”是最大的支持

http://www.ppmy.cn/news/709569.html

相关文章

如何查看 MySQL 建表时间

MySQL是一款性能良好&#xff0c;易于使用的关系型数据库管理系统。我们可以使用 SQL 语句查看 MySQL 建表时间&#xff0c;以便获取建立表时的更多信息。 1、 首先&#xff0c;在MySQL中执行以下命令&#xff0c;获取表的列表&#xff1a; SELECT create_time,table_name FR…

资料下载链接

大家好&#xff01;这是我整理的免费视频教程以及电子书&#xff0c;每天都会有更新&#xff0c;希望对大家能有帮助。 与大家共勉&#xff01;大家可以根据自己感兴趣的方向浏览下载哦!祝大家事业有成&#xff01;学习进步&#xff01; Linux&#xff1a; LAMP兄弟连Linux视频…

POC,黑客精神的一场回响

生命不息&#xff0c;破解不止。 一年一度&#xff0c;黑客们聚集韩国首尔&#xff0c;分享自己对这个世界最新的理解。 这就是 POC。 如果说 POC 黑客大会和其他黑客大会有怎样的区别&#xff0c;除了随处可见的韩国妹子之外&#xff0c;就是会上透露出来的浓浓的“Pwn”的气息…

网络安全进阶学习第五课——文件上传漏洞

文章目录 一、常见文件上传点二、任意文件上传漏洞三、任意文件上传危害四、webshell五、上传木马所需条件六、木马上传流程七、上传绕过1、绕过JS验证1&#xff09;Burpsuite剔除响应JS。2&#xff09;浏览器审计工具剔除JS 2、绕过MIME-Type验证1&#xff09;利用抓包工具&am…

错过“复联4”在所不惜,迅雷链技术沙龙北京站有哪些更精彩的地方?

整理 | 传神 出品 | 区块链大本营&#xff08;blockchain_camp&#xff09; 4月27日&#xff0c;由迅雷集团主办的“链创未来——迅雷链技术沙龙”在北京中关村创业大街车库咖啡如期举行。本期沙龙作为迅雷链2019年全国系列沙龙的第一站&#xff0c;特邀了迅雷链核心开发工程师…

【云服务架构】什么是云原生应用?有哪些特点?来看看阿里云大学公开课给你答案

云原生技术发展简史 首先从第一个问题进行分享&#xff0c;那就是“为什么要开设云原生技术公开课&#xff1f;”云原生、CNCF 都是目前非常热门的关键词&#xff0c;但是这些技术并不是非常新鲜的内容。 2004 年— 2007 年&#xff0c;Google 已在内部大规模地使用像 Cgroup…

SegmentFault 讲堂一周岁:Keep learning

一转眼&#xff0c;我入职 SegmentFault 快接近一年。再回想一下&#xff0c;SegmentFault 讲堂也一周岁了&#xff0c;是时候捋一捋我们这一年都干了些啥&#xff0c;来和我一起回顾下你与讲堂的交集吧~ SegmentFault 讲堂成长轨迹 2017 年 3 月&#xff0c;讲堂正式上线。 20…

信息安全初窥(二):信息安全能力体系

文章目录 前言一、信息安全需要哪些能力&#xff1f;1.法律与标准2.攻防技术3.工程实践 二、如何锻炼这些能力&#xff1f; 前言 上篇文章说到&#xff0c;我对信息安全行业的前途非常乐观&#xff0c;但这种乐观建立在不那么美好的事实之上。 刚接触互联网是在 05 年&#x…