Vue 3 正式发布

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Vue.js 3.0 "One Piece" 已正式发布,此框架新的主要版本提供了更好的性能、更小的捆绑包体积、更好的 TypeScript 集成、用于处理大规模用例的新 API,并为框架未来的长期迭代奠定了坚实的基础。 3.0 版本的开发周...

Vue.js 3.0 "One Piece" 已正式发布,此框架新的主要版本提供了更好的性能、更小的捆绑包体积、更好的 TypeScript 集成、用于处理大规模用例的新 API,并为框架未来的长期迭代奠定了坚实的基础。

3.0 版本的开发周期长达两年多,期间产生了 30+ RFCs2600+ commits628 pull requests,以及核心仓库之外的大量开发和文档工作。

Vue 3.0 的发布标志着此框架整体上已处于可用状态。尽管框架的某些子项目可能仍需要进一步的开发才能达到稳定状态(特别是 devtools 中的路由和 Vuex 集成),不过现在仍然是开始使用 Vue 3 启动新项目的合适时机。官方还鼓励库作者现在可以开始升级项目以支持 Vue 3。查阅《Vue 3 Libraries Guide》以获取有关所有框架子项目的详细信息。

分层内部模块 (Layered internal modules)

Vue 3.0 core 仍然可以通过<script>标签进行使用,但其内部架构已被彻底重写为一组解耦的模块。新架构提供了更好的可维护性,并允许使用者通过 tree-shaking 来减少多达一半的 runtime 大小。

这些模块还将许多底层 API 暴露出来,可用于许多高级用例:

  • 编译器为定制 build-time 提供了对自定义 AST 转换的支持(例如 build-time i18n
  • 内核 runtime 提供了优先级最高的 API,用于创建针对不同渲染目标(例如原生移动设备WebGL 或终端)的自定义渲染器。默认 DOM 渲染器使用相同的 API 构建
  • @vue/reactivity模块导出的函数可以直接访问 Vue 的 reactivity 系统,其本身也可以作为一个独立的程序包使用。它还可以与其他模板解决方案(例如 vue-lit)搭配使用,甚至可以在非 UI 场景中使用

用于处理大规模用例的新 API

在 Vue 3 中,基于对象的 2.x API 基本没有变化。不过 3.0 还引入了 Composition API,旨在解决 Vue 在大型应用程序中的使用痛点。Composition API 构建于 reactivity API 之上,可以实现类似于 React 钩子(React hooks)的逻辑组合和重用,与 2.x 基于对象的 API 相比,拥有更灵活的代码组织模式和更可靠的类型推导。

通过 @vue/composition-api 插件,Composition API 还可以与 Vue 2.x 搭配使用,并且目前已经有适用于 Vue 2 和 3 的 Composition API 实用程序库(例如 vueusevue-composable)。

提升性能

与 Vue 2 相比,Vue 3 在捆绑包体积(通过 tree-shaking 减小约 41% 大小)、初始渲染(速度提升约 55%)、更新(速度提升约 133%)和内存使用率(降低约 54%)等方面有了显著的性能提升

Vue 3 采用了"compiler-informed Virtual DOM"的方法:模板编译器执行激进的优化并生成渲染函数代码,以提升静态内容访问速度,为绑定类型留下 runtime 提示。最重要的是,将内部的动态节点扁平化处理,以降低 runtime 遍历的成本。因此,用户可以获得两全其美的效果:通过模板优化编译器的性能,或者在用例需要时通过手动渲染函数直接控制。

改进与 TypeScript 的集成

Vue 3 使用 TypeScript 编写,具有自动生成、测试和捆绑的类型定义等特性。Composition API 可与类型推导很好地搭配使用。Vetur,Vue 3 的官方 VSCode 扩展,现在支持模板表达式,以及利用 Vue 3 改进的内部类型进行 props 类型检查。

实验性功能

为单文件组件(SFC, Singe-File Components),即 .vue 文件提供了两项新特性:

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

此外还实现了一个当前未记录的<Suspense>组件,该组件允许在初始渲染或分支切换时等待嵌套的异步依赖项(异步组件或包含async setup()的组件)。目前正在与 Nuxt.js 团队一起测试和迭代此功能(即将在 Nuxt 3发布),并且可能会在 3.1 中到达稳定。

下一步

发布后的短期内,开发团队将专注于:

  • 版本迁移
  • 支持 IE11
  • 新 devtools 中的路由和 Vuex 集成
  • 对 Vetur 中模板类型推导的进一步改进

使用

了解有关 Vue 3.0 的更多信息,访问我们新文档网站。如果是 Vue 2.x 用户,访问迁移指南


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Little Schemer

The Little Schemer

[美] Daniel P. Friedman、[美] Matthias Felleisen / 卢俊祥 / 电子工业出版社 / 2017-7 / 65.00

《The Little Schemer:递归与函数式的奥妙》是一本久负盛名的经典之作,两位作者Daniel P. Friedman、Matthias Felleisen在程序语言界名声显赫。《The Little Schemer:递归与函数式的奥妙》介绍了Scheme的基本结构及其应用、Scheme的五法十诫、Continuation-Passing-Style、Partial Function、......一起来看看 《The Little Schemer》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器