Vue 3.6.0-rc.13 发布:Vapor 编译器语义对齐仍是主线

Vue 3.6.0-rc.13 于 2026 年 10 月 23 日发布。作为第 13 个候选版,changelog 里大量条目落在 compiler-vapor 与 runtime-vapor,并顺带把异步组件默认加载延迟改回 200 毫秒。[1][2]

编译侧:对齐 vdom 语义

候选版编号走到 rc.13,本身说明 3.6 还在收边。按官方 minor 分支 changelog,本版 compiler-vapor 修复包括:v-once 在 v-else-if 链上的行为与 vdom 对齐;过长的 v-else-if 链改编译为扁平的 createIfChain;对象简写别名在带默认值或计算键时保留 key;以及 foreign content、表格内文本、特殊元素结束标签、非根级 Transition / KeepAlive 子节点单根标记等解析与输出问题。[1]

Vapor 把模板编译成直接操作 DOM 的路径,跳过虚拟 DOM,但跳过并不等于可以行为不同:条件链哪一支生效、Transition 子节点是否算单根,这些都是 vdom 时代已经定下的事实,需要逐项对齐。[2]

扁平化条件链的意义主要在更新路径长度:嵌套编译时,前面条件一变往往要再走一遍深层结构;摊平成按序求值的分支表后,深层模板的代码体积和更新成本更可控。这类改动通常推不动基准测试数字,却会作用在后台多状态分支一类真实页面上。[2]

运行时:200 毫秒默认值回来了

本版 runtime-core 一项引人注目的修复,是恢复异步组件(defineAsyncComponent)默认 200 毫秒延迟后再展示 loading 状态。设计意图是:几十毫秒就加载完的组件,不必先闪一下转圈。该默认值在 3.6 周期里曾被改动,rc.13 把它改回去。[1][2]

changelog 中另有大量 runtime-vapor 条目,覆盖 transition / KeepAlive 互操作、异步 setup 根节点、水合文本换行、v-for 行 key、自定义元素挂载时机等;并新增一项:Vapor slot 行可作为 vdom TransitionGroup 的子节点参与过渡。[1]

要不要现在升

rc.13 仍是预发布,不是稳定版。生产应用通常宜等正式版;若在跟 Vapor,更值得做的是对照编译输出,看自己组件库里深层条件链、运行时拼装模板等模式在直写 DOM 路径下成本如何变化。具体修复列表以 GitHub changelog 为准。[1][2]

来源

[1] vuejs/core CHANGELOG(minor 分支)v3.6.0-rc.13,发布说明见 v3.6.0-rc.13,2026年10月23日。查询日期:2026-10-27。

[2] Vue 3.6's 13th release candidate: seven of eight fixes live in the Vapor compiler,MoIu Home,2026年10月26日。查询日期:2026-10-27。

#Vue #Vue3.6 #Vapor #compiler-vapor #前端

排序方式 :

成为第一条评论!

Nobody's responded to this post yet. Add your thoughts and get the conversation going.