Vuex仓库发布了最新版本V3.5.1
github的Vuex仓库V3.5.1地址:https://github.com/vuejs/vuex/releases/tag/v3.5.1
Vuex初始化包括了安装、Store实例化过程两个方面
现在我们了解vuex的安装过程
当我们在代码中通过
import Vuex from 'vuex'
的时候,实际上引用的是一个对象,它的定义在
src/index.js
中
Vuex存在一个静态的install方法,它的定义在src/store.js中:如下截图所示
截图代码中可知~install方法的逻辑很简单,把传入的_Vue赋值给当前方法的Vue并执行了applyMixin方法 以上代码截图所示,可以注意到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
通过Vue.mixin的方法,全局混入一个beforeCreate生命周期的钩子函数,它的实现非常简单。
先上源码截图~
如上图所示,其实就是先把$options先缓存起来,进行判断store,然后把options.store保存在所有组件的this.$store中,这个 options.store 就是我们在实例化 Store 对象的实例。此时Vuex初始化的安装过程就结束了~ Vuex初始化第二个方面实例化 Store下一篇文章再总结