即将到来的 Vue 3 “Vapor Mode”( 二 )

  • 与现有 SSR 输出的水合兼容性 。
  • 第二阶段:核心功能的编译器这一阶段的主要重点是确保可以使用 Vue 模板或 JSX 并将其转换为运行时可以处理的内容 。
    ?? 阶段目标:
    • 共享代码生成 IR(中间表示)
    • JSX AST / 模板 AST - IR - Vapor Mode 代码
    那为什么需要中间表示呢?
    由于没有虚拟 DOM,Vapor Mode 的编译过程无需手动创建渲染函数 。然而,一些用户需要 JavaScript 的广泛灵活性 。在这种情况下,可以将 JSX 编译为 Vapor 代码 。
    模板和 JSX 都经过转换为相同的中间表示,最终编译为 Vapor 代码 。
    即将到来的 Vue 3 “Vapor Mode”

    文章插图
    第三阶段:集成Vue 的目标是让 Vapor 能够无缝地融入现有的应用 , 而无需对当前的设置进行任何修改 。可以在组件级别进行选择,以便能够逐步将其引入到应用的一部分中,或者特别是在性能关键的区域中使用 。这样,可以根据需要灵活地利用 Vapor,并在需要时将其引入到现有的应用程序中 。
    ?? 阶段目标:
    • 对独立 Vapor 应用的工具支持
    • 在现有应用中运行 Vapor 组件
    • 在 Vapor 中运行 vDOM 组件
    第四阶段:功能对等在首次发布时 , Vapor Mode 将仅提供基本的核心功能 , 而诸如<Transition />、<KeepAlive />、<Teleport />、Suspense 等辅助功能将在 Vue 团队完成前述目标后进行实现 。
    小结
    • Vapor Mode 是 Vue.js 正在开发的一种新的面向性能的编译策略;
    • 它将使用相同的模板(假设使用的是 Composition API 和<script setup>,并产生更高性能的输出);
    • 它将逐步采用,开发者可以选择为单个组件或整个应用启用 Vapor 模式 。
    • 最终目标是实现在同一应用中自由混合使用 Vapor 和非 Vapor 组件,而不会引发任何问题 。不过 , Vapor Mode 将首先以仅包含 Vapor 树的 vDOM 为基?。?并在此基础上逐步提高它们之间的互操作性 。




    推荐阅读