我在当初学习vue的时候,就有一个问题,那就是什么是runtime?在看学习视频的时候,就总能听到什么runtime版本,compiler版本,巴拉巴拉的。。。
今天我就好好的查了一下,到底什么是runtime,什么是compiler!
在此记录一下!
首先,runtime翻译过来就是运行时,在我找到的许多资料里显示,runtime版本没有编译器,不能使用template,只能使用render函数来渲染。但是有一件事是,我们用的时候是使用了template了啊,那也没有报错啊
那是因为runtime版本里,配合使用了vue-loader,在webpack打包时,利用vue-loader来将template转化为了render函数
其次,因为没有编译器,所以runtime版本她体积小啊,适合浏览器更快的加载使用,而且vue默认使用runtime版本的
compiler版本翻译过来就是编译器,带有编译器的版本,可以使用template,编译器会把template转化为html
由于带有编译器,体积就变大了,当然加载起来就会变慢
但是有一个疑问了,既然平时写vue的时候,是默认用runtime版的,而且也能使用template,那什么场景适用于使用编译器版本呢?
常用于cdn引入模式,这种模式由于需要解析模板,所以需要引入完整版的vue
总之一句话,需要编译器进行解析模版的地方就使用compiler版本,不需要的就使用runtime版本
总结一下:
1、runtime版本没有编译器
2、runtime版本比compiler版本体积小
3、runtime版本时vue默认版本
4、runtime版本本来不能使用template,但是由于使用webpack打包,所以配合vue-loader,将template转化为html
5、可以自己指定到底使用哪个版本,按需使用