# Vue 架构设计与项目结构

# Vue.js源码目录结构

img

script

与构建相关的脚本和配置文件

dist

构建后的文件

flow

Flow的类型声明

package

vue-server-renderer/vue-template-compiler作为单独NPM包发布,自动从源码中生成,并且始终和vue.js具有相同版本

compiler

所有编译相关的代码。包括把模板解析成ast语法树,ast语法树优化,代码生成等功能。

core

核心代码,包括内置组件,全局API封装,Vue实例化,观察者,虚拟DOM,工具函数等。

TIP

  • observer:实现变化侦测的代码
  • vdom:实现虚拟dom的代码

platform

Vue.js是跨平台框架,可以跑在web上,也可以配合weex跑在客户端上。

server

支持服务端渲染。这部分代码跑在服务端的Node.js

sfc

这个目录的代码逻辑会把.vue文件内容解析成一个Javascript对象。

shared

浏览器和服务器端端Vue.js共享一些工具方法。