作全球规模领先的免费 Vue.js 线上盛会 ——Vue.js Nation 2025,于 1 月 29 - 30 日盛大开启,超 20,000 名开发者齐聚 “云端”,共探 Vue.js 及其生态的未来。
大会展示了诸多突破性技术更新与实用工具,聚焦以创新提升开发效率和应用性能。Vue.js 核心开发者尤雨溪分享,Vue.js 秉持 “性能优先”,正引领前端开发迈向更高效智能的新时代。
接下来,我们一起深入探究 Vue 3.6到底有那些变化
外星信号降临:响应式系统的性能飞跃
Vue 响应式系统是其核心优势,Vue 3.6 中它迎来重大升级:引入 外星信号(Alien Signals),让响应式性能大幅提升。
alien signals是一个系统项目, 独立于 Vue 的高性能信号系统,由 Johnson Chu 主导开发.
项目地址:
https://github.com/stackblitz/alien-signals
由于作者 Johnson Chu 参与了大量 vue 的优化工作,现在在新的 PR 也就是将来的 3.6 版本,将alien signals 合并到 Vue Core
下面是alien-signals 官网图, 可以看出alien-signals各方面都碾压vue 3.4
官网也给出了原因: alien signals施加了一些约束(例如不使用Array/Set/Map和不允许函数递归)来确保性能
所以,本次更新核心在于响应系统的重大性能提升.通过引入alien signals,使Vue的响应系统实现性能飞跃.
- 响应式性能提升 40%:通过响应式系统底层重构,让响应式追踪更高效。
- 内存占用降 65%:新一代响应系统采用槽位复用+增量GC 策略,内存碎片化减少82%。
- 响应式对象开销减小:通过对象头压缩技术, 每个对象内存开销从 48 bytes 压缩至 16 bytes,能处理百万级数据表。
槽位复用+增量GC是通过复用DOM节点, 降低内存的分配和释放频率, 从而减少GC压力
蒸汽模式(Vapor Mode):全新的编译策略
vapor mode 通过采用模板预编译和运行时直出的混合策略进行编译,实现了以下突破:
- 首屏渲染速度提升 2 倍 :以 TodoMVC 应用为例,首屏渲染时间从 127ms 缩短至 43ms。
- 应用体积缩减至传统模式的 1/3 :这使得应用在低端设备上的加载速度大幅提升。
- 运行时性能提升: 编译策略转型实现 92% 的运行时性能优化
如果你想在特定组件使用vapor mode只需在组件中添加vapor属性, 如 <script vapor>
如果你想创建一个纯vapor mode项目。可以使用 createVaporApp 快速搭建。
import { createVaporApp } from 'vue/vapor'
import './style.css'
import App from './App.vue'
const create = createVaporApp
create(App as any).mount('#app')
TypeScript 支持增强:组件类型改进
在现代前端开发领域,TypeScript 已然成为不可或缺的标准配置。Vue 3.6 顺势而上,将对 TypeScript 的支持提升至全新高度。
通过改进类型推断算法,Vue 解决了泛型组件类型展开时的指数爆炸问题。在包含 20 层嵌套的复杂组件场景中,Volar 插件的类型检查速度从 4.3 秒缩短至 0.7 秒。
这意味着你可以在编写代码时获得更准确的提示,同时减少运行时错误的发生。
Rolldown:新一代打包工具
尤雨溪介绍了其公司 VoidZero 的最新成果 Rolldown。这是一款专为 Vue 生态量身打造的全新打包工具,借助 WASM 多线程架构与按需 Tree Shaking 算法,实现了创新性突破。
- 冷启动构建速度提升 2.3 倍:在 monorepo 场景下,冷启动构建速度达到 esbuild 的 2.3 倍。。
- 最终产物体积缩减 27%:通过更高效的依赖解析和优化策略,应用体积进一步压缩。
这些改进使得 Vue 应用在保持高性能的同时,还能拥有更小的打包体积。