Vue的两个组成部分:

  1. 核心
    例如:生命周期、处理事件等

  2. 模板解析器
    该解析器的体积占了 vue.js 的大约 1/3。
    开发的时候,它会帮我们解析模板。当最终发布的时候,会编译为.html .css .js ,那么此时就不需要该解析器了。

所有的 运行时vue.js 都是去掉了解析器的功能,减少体积。

模板解析器

*.vue

.vue组件中的

<template>
...
</template>

是通过 package.json 中 vue-template-compiler 指定的 vue模板解析器 解析的。

main.js

至于 main.js 文件,就没有人给你解析模板。
该文件中的:

new Vue({
    //不能出现template配置项. ★★★
    //对于引入 的 残缺版vue.js ,我们就需要借助 render() 来完成解析。
})

小结

关于不同版本的Vue:

  • 1.vue.js与vue.runtime.xxx.js的区别:
    (1).vue.js是完整版的Vue,包含:核心功能+模板解析器。
    (2).vue.runtime.xxx.js是运行版的Vue,只包含:核心功能;没有模板解析器。

  • 2.因为vue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,需要使用
    render函数接收到的createElement函数去指定具体内容。

两种模块化

  1. ES6 语法
  2. CommonJS 语法