summer_zhh

Vue3.0性能优化之重写虚拟Dom 原创

最新推荐文章于 2025-08-23 22:36:31 发布
最新推荐文章于 2025-08-23 22:36:31 发布

阅读量3.3k

收藏 5

5赞

Vue3.0中的性能优化

2020年4月21号,Vue的作者尤雨溪在直播中分享了Vue.js 3.0 Beta最新进展, 向我们展示里Vue3中的六大亮点,其中首先提到的就是Performance性能。

Vue3.0中的六大亮点

  • Performance:性能更比Vue 2.0强。
  • Tree shaking support:支持对无用模块的“剪枝”,实现按需打包
  • Composition API:基于函数的组合式API
  • Fragment, Teleport, Suspense:“碎片”,Teleport即Protal传送门,“悬念”
  • Better TypeScript support:更优秀的Ts支持
  • Custom Renderer API:暴露了自定义渲染API

Performance

  • 重写了虚拟Dom
  • 编译模板的优化。
  • 更高效的组件初始化。
  • update性能提高1.3~2倍。
  • SSR速度提高了2~3倍。

在Vue2,我们就已经体会到了VDom的优秀表现,尽管如此在Vue3.0中仍然对虚拟Dom进行了重写,这也是Vue3性能能够得到提升的重要原因之一,接下来我们就跟着尤大了解Vue3.0中VDom到底是如何得到优化的。

1. PatchFlag

尤大在直播时使用了Vue 3 Template Explorer这个工具给我们做了一些demo展示

动态数据

vue3编译模板
左边是我们要编译的实际代码,右边是编译模板生成的渲染函数

如果我们要编译以下代码

<div> <span>static<span/> <span>{ { msg }}</span> </div> 

将会被编译成这个样子

import {  createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createBlock as _createBlock } from "vue" export function render(_ctx, _cache) {  return (_openBlock(), _createBlock("div", null, [ _createVNode
写评论
5
文章收藏成功
前往CSDN APP阅读全文
CSDN APP记录你的成长
微信小程序收藏浏览更方便
截图/长按 保存本地,用微信扫码打开
进入小程序随时浏览/收藏技术文章
需要前往CSDN APP登录即可继续互动
成就一亿技术人!
拼手气红包6.0元
发红包
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
前往CSDN APP阅读全文
阅读体验更佳

CSDN

成就一亿技术人

浏览器
分享
请升级应用版本