Skip to main content

[面试题] Vue精讲-vue源码

Vue源码的获取

项目地址:https://github.com/vuejs/vue

为什么分析Vue2.6? 新的版本发布后,现有项目不会升级到3.0,2.x还有很长的一段过渡期。

3.0项目地址https://github.com/vuejs/vue-next

源码目录结构(在src目录下面定义的就是源码内容):

compiler: 编译相关(主要作用:就是把模板转换成render函数,在render函数中创建虚拟DOM)
core:Vue核心库
platforms:平台相关代码,web:基于web的开发,weex是基于移动端的开发
server:SSR,服务端渲染
sfc:将.vue文件编译为js对象
shared:公共的代码

​ 在core目录是Vue的核心库,在core目录下面,也定义了很多的文件夹,下面我们先简单来看一下。

components目录下面定义的是keep-alive.js组件。

global-api:定义的是Vue中的静态方法。vue.filter,vue.extend,vue.mixin,vue.use等。

Instance:创建vue的实例,定义了Vue的构造函数,初始化,以及生命周期的钩子函数等。

observer:定义响应式机制的位置,

util:定义公共成员。

vodom:定义虚拟DOM