写在开头,如有错误之处,请各位指出。
在我们创建vue-cli项目时会让我们选择用runtime-compiler还是用runtime-only,那么此时我们应该怎么选呢?
结论:选择runtimeonly,因为性能更高,代码更少
图1
要怎么选,我们得知道他们二者的区别。
新建2个项目,一个选择runtime compiler,一个选择runtimeonly,将二者对比,主要区别在main.js上
图2
在运行vue程序时
runtime+compiler的运行过程是:
template--->ast---->render--->vdom--->UI
注:ast--->Abstract Syntax Tree 抽象语法树; vdom--->Virtual DOM 虚拟dom
runtimeonly的运行过程时:
render--->vdom---->UI
相较于runtimecompiler,runtimeonly直接从render到UI,省略了template--->ast步骤,这样使之代码量更少
那么此时在选择runtimeonly,那么template是谁来执行?是由vue-tempalte-compiler来执行的。
补充:render函数
render函数是用来干啥的?它和template类似,是用来创建html模板的。
render函数有一个参数,即createElement,它本省又是一个函数,有三个参数。
结合代码
图3
图4