Vue 完整版
- 同时包含compiler和runtime的版本
在这里介绍几个名词
- compiler:用来将模板字符串编译成为 JavaScript 渲染函数的代码
- runtime:用来创建 Vue 实例、渲染并处理虚拟 DOM 等的代码。基本上就是除去编译器的其它一切
runtime 版
- 不包含compiler,只包含runtime的版本
两个版本的区别
| Vue 完整版 | Vue runtime版 | |
|---|---|---|
| 特点 | 有编译器 | 无编译器 |
| 视图 | 直接写在HTML里,或用 template 渲染到 HTML | 利用 render 里的 h 函数来创建 HTML 节点 |
| cdn 引入 | cdn.bootcss.com/vue/2.6.10/… | cdn.bootcss.com/vue/2.6.10/… |
| webpack 引入 | 需要配置 alias,具体方法请参照官方文档 | 默认使用此版本 |
| @vue/cli 引入 | 需要额外配置,具体方法请参照官方文档 | 默认使用此版本 |
两者的使用场景
Vue 完整版虽然有编译器,可以直接操作 HTML 节点,但是他相对于来说体积比 runtime 版本多 40%,所以完整版适用于开发环境
Vue runtime 版抛弃了编译器,使它的体积小了很多,适用于生产版本
在实践中,更加推荐使用runtime版本配合vue-loader和vue文件。 原因: 1、保证用户体验,用户下载的js文件体积更小,但只支持h函数 2、保证开发体验,开发者可以直接在vue文件里写HTML标签,而不写h函数 3、累活让loader做,vue-loader把vue文件里的HTML转化为h函数
这样我们就可以轻松的开发而不用在乎 runtime 版 render 的复杂用法