runtime-complier 和 runtime-only 的区别

在使用vue-cli2创建项目时,会遇到一个选项,如下图:

有两种不同的模式
第一种:runtime-complier 默认选择
第二种:runtime-only 优点更多

runtime-only 有两种优点:

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

所以我分别创建两个不同的项目,来进行比较,发现只有main.js中一些差别,如下图:

得出: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:第一次写博客,有什么不足的地方,请指出其中的错误,我会改正的。

runtime-complier 和 runtime-only 的区别相关推荐

  1. bug4 导入新工程时报 Target runtime com.genuitec.runtime.generic.jee60 is not defined

    系统加载工程后,报错Target runtime com.genuitec.runtime.generic.jee60 is not defined,在发布工程的同事电脑上正常.新导入的工程,出问题很 ...

  2. import导入工程时出现error:Description Resource Path Location Type Target runtime com.genuitec.runtime.gener

    Myeclipse把一个workspace里的项目导入另一个workspace时,项目提示error: Description Resource Path Location Type Target r ...

  3. Docker系列之AspNetCore Runtime VS .NetCore Runtime VS SDK(四)

    接下来我们就要慢慢步入在.NET Core中使用Docker的殿堂了,如题在开始之前,我们需要搞清楚一些概念,要不然看到官方提供如下一系列镜像,我们会一脸懵逼,不知道到底要使用哪一个. AspNetC ...

  4. Target runtime com.genuitec.runtime.generic.jee60 is not defined.报错解决

    Eclipse系统加载工程后,报错Target runtime com.genuitec.runtime.generic.jee60 is not defined, 新导入的工程,出问题很大可能是jd ...

  5. Target runtime com.genuitec.runtime.generic.jee60 is not defined

    转载自:http://jingyan.baidu.com/article/d7130635338e3f13fdf47518.html 用eclipse加载别人的工程,报错Target runtime ...

  6. Runtime - 常用的runtime API介绍

    其实也不咋常用,毕竟用runtime都少 #import <objc/runtime.h> 使用runtime之前一定要导入这个 Class object_getClass(id obj) ...

  7. Nokia E52的Runtime java.lang.Runtime Exception Toolkit Closed问题解决

    开发的项目在E52上安装完成了,运行开始就退出了,显示 Runtime java.lang.Runtime Exception Toolkit Closed 参考:http://discussion. ...

  8. 了解vue里的Runtime Only和Runtime+Compiler

    在我们使用vue-cli的时候,会提示你安装的版本 可以看到有两种版本: Runtime Only 版本 和 Runtime+Compiler 版本. 1.Runtime Only 我们在使用 Run ...

  9. Runtime底层原理--Runtime简介、函数注释

    Runtime官方文档介绍直通车 扩展:编译时 看到运行时就会想到编译时,编译时主要是将源代码翻译成可识别的机器语言,如果编译时类型检查等翻译过程中发现语法分析之类有错误会给出相应的提示.比如OC,s ...

  10. SAP ABAP DDICSAP ABAP DDIC table runtime object table runtime object

    Created by Jerry Wang, last modified on Dec 30, 2014 如何显示DDIC table的runtime object: field PRODUCT_TY ...

最新文章

  1. 近段时间佛我就偶尔无
  2. 单引号、双引号 转义符
  3. c++ 导入caffe
  4. Caused by: java.lang.ClassNotFoundException: Cannot find class: User
  5. html5获取城市,HTML5 geolocation API获得用户当前城市名
  6. ArcEngine由点生成TIN
  7. Python实现决策树
  8. git复制迁移--SmartGit
  9. 一个Windows C++的线程池类实现
  10. usb声卡驱动(五):声卡驱动的开始
  11. Linux驱动开发|UART驱动
  12. MySQL 通过存储过程生成带有随机姓名的百万条测试数据
  13. 集成算法 | 随机森林回归模型
  14. 计算机仿真专业学什么,计算机科学与技术知识专业 计算机仿真技术知识课件.ppt...
  15. 在你的ipad上使用Vscode撸代码(快速操作向)
  16. java中一行代码实现百分数计算
  17. 庆科EMW3080 mxos开发环境搭建helloworld编译
  18. Kafka学习笔记1
  19. 自建kafka和公有云kafka对比
  20. 使用opencv-python制作屏幕录制工具

热门文章

  1. python软件测试面试题-软件测试面试问题及答案
  2. java笛卡尔积算法_Java 笛卡尔积算法的简单实现
  3. 可靠的网络兼职,这四种兼职骗子很多,要警惕!
  4. 2019年定制安卓app开发的五大优势
  5. AMD64和i386的区别
  6. 已经禁用了虚拟内存,为什么还提示“页面文件太小 无法完成操作 ”
  7. 解决MFC的CString类型数据存储到Mysql的冷僻汉字乱码
  8. 获取国内任意一个城市的OpenStreetMap数据的一种方法
  9. CV之NS之VGG16:基于TF Slim库利用VGG16算法的预训练模型实现七种不同快速图像风格迁移设计(cubist/denoised_starry/mosaic/scream/wave)案例
  10. 通信原理学习笔记3-3:数字通信系统概述(数字调制、IQ调制与PSK / QAM)