vue源码解析pdf_Vue源码解析之Vuex初始化之vuex的安装过程

Vuex仓库发布了最新版本V3.5.1 github的Vuex仓库V3.5.1地址:https://github.com/vuejs/vuex/releases/tag/v3.5.1

24e8333120c00277b347de6395bcb8d6.png

Vuex初始化包括了安装、Store实例化过程两个方面 现在我们了解vuex的安装过程 当我们在代码中通过 import Vuex from 'vuex' 的时候,实际上引用的是一个对象,它的定义在 src/index.js 中

7ffa4c2de676d5dad2410c4b49e2f133.png

1f554524d6edb2832647279e6fb06727.png

Vuex存在一个静态的install方法,它的定义在src/store.js中:如下截图所示

e4f9903be3f5f2429d87c1606be41560.png

16ef3658aa5e8cec5fc1f0a48a857740.png

截图代码中可知~install方法的逻辑很简单,把传入的_Vue赋值给当前方法的Vue并执行了applyMixin方法

6814ee2a6a824c47418f110691dee92c.png

b687e4982bbc8ca7d6f098b9e3c6d24e.png

be95836535129470f5782dfcc9486636.png

以上代码截图所示,可以注意到applyMixin方法做vue版本的控制,获取vue的版本,判断vue的版本,并且兼容vue1.0的版本,强大的一批~现在vue已经2.0版本,所以我们只需关注version2.0版本以上。在version2.0版本以上,执行了Vue.mixin的方法,补充一下该方法介绍 对应链接:
  • https://cn.vuejs.org/v2/api/#Vue-mixin

  • https://cn.vuejs.org/v2/guide/mixins.html#%E5%85%A8%E5%B1%80%E6%B7%B7%E5%85%A5

cb74c8956958b38f07ff229e01332163.png

87c57995b9f15df83425fae7230d8409.png

通过Vue.mixin的方法,全局混入一个beforeCreate生命周期的钩子函数,它的实现非常简单。

先上源码截图~

251ac0089f750c6c6a47c40c8ace0ef1.png

5ded3b1249baba20c9d430fb755c2f44.png

如上图所示,其实就是先把$options先缓存起来,进行判断store,然后把options.store保存在所有组件的this.$store中,这个 options.store 就是我们在实例化 Store 对象的实例。此时Vuex初始化的安装过程就结束了~ Vuex初始化第二个方面实例化 Store下一篇文章再总结

14c6aa0f170ca8ae218caeeef83544b5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值