<b><font color="#f68b1f">dist</font>:</b>所有输出的版本
cjs
webpack1、browserfiry等老版本打包器(vue.common.xx.js)
esm
webpack2等新版本打包器(vue.esm.xx.js)
umd
兼容cjs和amd(vue.js、vue.min.js)
runtime
仅包含运行时,没有编译器(预编译)
<b><font color="#f68b1f">src</font></b>:核心代码
<b><font color="#f68b1f">compiler</font></b>:编译器,<br>包括把模板解析成AST语法树,<br>AST语法树优化,代码生成等功能
<b><font color="#f68b1f">codegen</font></b>:代码生成
<b><font color="#f68b1f">directives</font></b>:指令v-bind v-model v-on
<b><font color="#f68b1f">parser</font></b>:ast语法树生成部分
<b><font color="#f68b1f">core</font><font color="#5c5c5c">:</font></b>核心代码。<br>包括内置组件、全局API封装、<br>Vue实例化、观察者、虚拟DOM、工具函数等
<b><font color="#f68b1f">components</font></b>:内置组件 KeepAlive
<b><font color="#f68b1f">global-api</font></b>:extend, assets, mixin, use),observer,util
<b><font color="#f68b1f">instance</font></b>:render相关 以及vue构造函数定义 生命周期钩子挂载 原型链上实例方法的挂载
<b><font color="#f68b1f">observer</font></b>:响应式的实现
<b><font color="#f68b1f">util</font></b>:工具包 主要是 debug,lang,next-tick,options(合并策略),props(props处理),env运行环境嗅探
<b><font color="#f68b1f">vdom</font></b>:虚拟dom实现
<b><font color="#f68b1f">platforms</font></b>:平台特殊代码
<b><font color="#f68b1f">server</font></b>:服务端渲染的逻辑,这部分代码是跑在服务器的node.js
<b><font color="#f68b1f">sfc</font></b>:单文件解析器,把 .vue 文件内容解析成一个 javascript 对象
<b><font color="#f68b1f">shared</font></b>:公共帮助代码,一些定义的工具方法,这些方法会被浏览器端的Vue.js 和服务端的Vue.js 共同使用
<b><font color="#f68b1f">types</font></b>:源码使用了Flow做静态类型检查,需要给typescript专门写一套