Vue官网对于两种版本解释:cn.vuejs.org/v2/guide/in…
完整版和runtime版
| UMD | CommonJS | ES Module(基于构建工具使用) | ES Module(直接用于游览器) | |
|---|---|---|---|---|
| 完整版 | vue.js | xue.common.js | vue.esm.js | vue.esm.browser.js |
| 运行时版 | vue.runtime.js | vue.runtime.common.js | vue.runtime.esm.js | - |
编译器
对边开发来讲,用户体验是第一要素,最主要就是加载时间长短,这就和需要加载体积大小有关系,
编译器的作用就是在我们想要在页面中加入html元素时,完整版会直接去自己编译我们写的内容放进我们想要加入的地方,直接去render().
运行时版是做不到的,他缺少编译器,我们只能通过手写内容.
// Vue完整版内置编译器,Vue.runtime版没有内置编译器
// 需要编译器
new Vue({
template: '<div>{{ hi }}</div>'
})
// 不需要编译器
new Vue({
render (h) {
return h('div', this.hi)
}
})
- 体积
作为开发来讲,体积越小,用户加载时间等待时间越少,体验越好,所以vue的作者也提倡用运行时版,
//那没有编译器,怎么让html变成可加载的
那我们就要想到webpack中的loader,如果css和imag都可以loader成webpack读懂的js内容,是不是也有一个loader专门来loader (vue)呢,
有一个Vue.loader专门负责把vue中的html转换为h函数
所以,推荐使用vue.runtime版配合vue-loader和vue文件使用
推荐一个网站:www.codesandbox.io
可以免费使用,记得不要注册,注册就受限制