Vue.js 源码目录设计

37 阅读2分钟

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的功能拆分,逻辑拆分。了解每个目录的作用。以便后续学习。