runtime-complier 和 runtime-only 的区别

runtime-complier 和 runtime-only 的区别

在使用vue-cli2创建项目时,会遇到一个选项,如下图:
在这里插入图片描述
有两种不同的模式
第一种:runtime-complier 默认选择
第二种:runtime-only 优点更多

runtime-only 有两种优点:

  1. 代码量更少
  2. 性能更高

所以我分别创建两个不同的项目,来进行比较,发现只有main.js中一些差别,如下图:
左边是runtime-complier
得出:runtime-complier 是用template模板,使用components注册组件的,而runtime-only是使用render函数来实现的

这里我们就需要来了解一下,template在vue 内部里是怎么渲染的
在这里插入图片描述
由上图可知:template 会先被解析成 ast(abstract syctax tree 抽象语法树),在被编译成 render 函数,而这个render函数会构建一个virtual(虚拟) dom,最后再渲染成真实dom,也就是UI,进行页面展示。

所以我们就可以得出:

  1. runtime-complier的步骤:template -> ast -> render -> virtual dom -> 真实dom
  2. runtime-only 的步骤:render ->virtual dom -> 真实dom

所以这里就有一个疑问了,为什么在runtime-only中就可以直接跳过前面的template解析阶段呢?因为在创建项目的时候,vue-cli自动帮我们安装了一个 vue-template-complier 插件,而这个插件会在项目启动时自动帮我们把template转换为render函数。

通过上面的比较就能够得出 runtime-only 相比于 runtime-complier ,代码量更少,性能更高

所以建议大家在开发项目时,多使用runtime-only模式,并且在实际开发中也使用的更多。
ps:第一次写博客,有什么不足的地方,请指出其中的错误,我会改正的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值