Vue源码之import Vue发生了什么(一)

在使用vue之前,通常会import Vue from ''vue'

那分析源码的第一步,看看import Vue这个过程到底发生了什么。

1. 首先,将vue源码从github中clone下来。然后在vue/src中查看源码,在 web 应用下,我们来分析 Runtime + Compiler 构建出来的 Vue.js,对应的源码路径是src/platforms/entry-runtime-with-compiler.js

在这个文件中可以看到,在Vue的原型上挂载了方法,如$mount

文文件的最后,导出Vue


2.继续向上一层,Vue是通过import Vue from './runtime/index'而来,


在这一层可以看到,Vue中进行了一些全局config的配置,同时在原型上挂载了一些方法,如__patch__,$mount等

3.继续向上一层,Vue是通过import Vue from 'core/index'而来


可以看到,在这一层,Vue主要通过initGlobalAPI完成了全局API的初始化

4.再上一层,Vue来自‘./instance/index.js’


在这里可以看到,Vue的定义是一个函数。定义成一个函数而不是一个类的好处是可以像Vue作者一样将各个模块分块,通过在原型上挂载等完成各个模块的功能。这样更容易维护,同时结构也更清晰,如果使用ES6的class,不易写出结构清晰的代码。

总结:

在import Vue的过程中,Vue主要是在原型上完成方法的挂载,并且初始化了全局的API。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值