1.vue有很多不同的版本 包括在umd commomjs es下的 运行时和包含编译器的 只含有运行时的 还有压缩过后的运行时和包含编译器的 
2.我们项目的脚手架是esModule下运行时的版本(vue.runtime.esm.js ),他比完整版本的体积更小,运行效率更高。
注意:查看webpack的默认配置 可以通过 vue inspect > output.js ;
术语:
完整版: 同时包含编译器和运行时的版本
编译器:用来将模板字符串编译成为JavaScript渲染的函数的代码
运行时:用来创建vue实例、渲染并处理虚拟dom等代码,体积小、效率高、基本上就是出去编译器的代码
UMD:UMD版本通用的模块版本,支持多种模块方式。vue.js 默认文件就是运行时+编译器的UMD版本.
CommonJS(cjs):CommonJS 版本用来配合老的打包工具比如 Browserify 或 webpack 1。
ES Module:从 2.6 开始 Vue 会提供两个 ES Modules (ESM) 构建文件,为现代打包工具提供的
版本。
ESM 格式被设计为可以被静态分析,所以打包工具可以利用这一点来进行“tree-shaking”并
将用不到的代码排除出最终的包。
Runtime + Compiler vs. Runtime-only
// 推荐使用运行时版本,因为打包的时候 比编译器和运行时的版本少了30%
// 运行时+编译器const vm =new Vue({el:"#app",template:'<h1>{{this.msg}}</h1>',data:{msg:'Hello Vue'}})// 编译器const vm = new Vue({el:"#app",render(h){return h('h1',this.msg)},data:{msg:'Hello Vue'}})
