Vue 的不同构建版本
| UMD | CommonJS | ES Module(基于构建工具使用) | ES Module(基于浏览器使用) | |
|---|---|---|---|---|
| 完整版 | vue.js | vue.common.js | vue.esm.js | vue.esm.browser.js |
| 运行时版 | vue.runtime.js | vue.runtime.common.js | vue.runtime.esm.js | - |
| 完整版(生产环境) | vue.min.js | - | - | |
| 运行时版(生产环境) | vue.runtime.min.js | - | - | - |
完整版:编译器+运行时版
编译器:将模板字符串编译成 JavaScript 渲染函数的代码
运行时版:完整版除去编译器之外的东西(可以用来创建Vue实例、渲染并处理虚拟Dom等代码)
完整版和运行时版对比
完整版比运行时版多编译器,编译器的作用是将模板字符串转换成渲染函数代码,如果使用的是完整版,则可以直接在template中写模板字符串,如下:
new Vue({
template:'<div>hi</div>' // 模板字符串
})
如果不使用编译器想要实现上面代码的效果,则需要向下面这样写:
new Vue({
render(h){ // 渲染函数
h('div','hi')
}
})
如果既不想要编译器,又想要能够编写模板字符串,则需要借助vue-loader等加载器,对*.vue文件进行编译。
合理的使用运行时版本能够使你相较于完整版节约大约30%的体积