首先,分别选择Runtime + Compiler和Runtime-only后发现它们的区别只在main.js这个文件中
(左边为Runtime + Compiler的mian.js文件,右边为Runtime-only的mian.js文件)
我们发现它们的区别只在vue实例的声明方式上
在此之前,我们还得先知道一个知识,那就是vue程序的运行过程
首先vue的template(即组件)会解析成ast(抽象语法树)再通过render函数再变成virtual-dom(虚拟语法树)最后被解析成为了UI(真实dom)
(即template=>ast=>render=>vdom=>UI)
而在Runtime-only的mian.js中我们可以注意到,源码直接把template传给了render函数,即意味着vue程序的运行过程中跳过了将template解析为ast和将ast编译为render函数的过程.
(即template=>render=>vdom=>UI)
跳过了两个步骤意味着将源码编译后的代码将更少,速度也更快
因此,在vueCli的配置中一般选择Runtime-only即可,但若了保险起见或是有其他项目需求(如仍使用template开发,选择Runtime + Compiler也无不可.毕竟Runtime-only括号内不是提示说才解压几kb的大小嘛