1. src
  2. ├── compiler # 编译相关
  3. ├── core # 核心代码
  4. ├── platforms # 不同平台的支持
  5. ├── server # 服务端渲染
  6. ├── sfc # .vue 文件解析
  7. ├── shared # 共享代码

compiler

所有编译相关代码

  • 把模板解析成AST语法树
  • AST语法树优化
  • 代码生成

编译工作可以在构建时做(webpack、vue-loader等),也可以在运行时做(包含构建功能的Vue.js)
编译是一项耗性能的工作,所以更推荐前者-离线编译

core

核心代码

  • 内置组件
  • 全局API封装
  • Vue实例化
  • 观察者
  • 虚拟DOM
  • 工具函数

    platforms

    跨平台的MVVM框架,它可以跑在Web上,也可以配合Weex跑在native客户端上
    Vue.js的入口,2个目录代表两个主要入口,分别打包运行在Web上和Weex上的Vue.js

    server

    服务端渲染,所有服务的渲染相关的逻辑都在这个目录下
    这部分代码是跑在服务端的Node.js,不要和跑在浏览器端的Vue.js搞混

    服务端渲染步骤

  1. 把组件渲染为服务器端的HTML字符串
  2. 将他们直接发送到浏览器
  3. 将静态标记“混合”为客户端上完全交互的应用程序

    sfc

    把.vue文件内容解析成一个Javascript对象

    shared

    工具方法
    会被浏览器端的Vue.js和服务端的Vue.js所共享