Vue.js 的核心源码都在src下,其目录结构如下:
src
|—— compiler # 编译相关
|—— core # 核心代码
|—— platforms # 不同平台的支持
|—— server # 服务端渲染
|—— sfc # .vue文件解析
|—— shared # 共享代码
compiler
complier目录包含Vue.js编译相关的代码。它包括把模板语法转成ast语法树,ast语法树优化,代码生成等功能。
编译工作可以在构建时执行(借助webpack,vue-loader等插件);也可以在运行时执行,使用包含构建功能的Vue.js。编译是个消耗性能的过程,建议在构建时执行。
core
core目录包含了Vue.js得核心代码。它包括内置组件,全局Api,Vue实例化,观察者,虚拟Dom,工具函数等。
platforms
Vue.js是一个跨平台的MVVM框架,它可以跑在web上,也可以配合weex跑在native客户端上。platform是Vue.j得入口,2个目录代表2个主要入口,分别打包成运行在web上和weex上的Vue.js。
server
Vue2 支持服务端渲染,所有相关服务端渲染的逻辑都在这个目录下。注:这部分代码是跑在node.js环境上的。 服务端渲染的主要工作就是把组件在服务端渲染成HTML字符串,然后返回给浏览器显示。
sfc
通常我们开发Vue.js都会借助webpack构建,然后通过.vue单文件来编写组件。这个目录下的代码会将.vue文件内容解析成一个javascript对象。
shared
Vue.js会定义一些工具方法,这里定义的工具方法都是会被浏览器端的Vue.js和服务端Vue.js 所共享。
总结
强!!! 通过分析Vue.js源码的目录结构,可以看出vue的目录拆分非常清楚。可以了解到Vue的功能拆分,逻辑拆分。了解每个目录的作用。以便后续学习。