Skip to content

Vuex

仓库地址

vuex 源码
本次调试源码仓库

调试流程

  • 本次调试对应为vuex@3.6.2版本
  • 此版本为 TypeScript 实现
  • 大量增/改/注释均在代码之中

目录说明

  • src/vuex:vuex@3.6.2 Typescript 实现。
  • src/*:通过 vue-cli 创建的 vue+typescipt 开发项目,方便借助 vue-dev-tool 在实际工程中使用 vuex。
  • test/unit:跟vue@3.6.2单元测试相同的 Typescipt 实现,不同处均添加了有效注释。

特性介绍

优点

  • vuex库并没有使用 TypeScript 或 Flow 进行类型约束,而 vuex 官方文档其实也不涉及到类型相关的知识。因此,初次阅读 vuex 源码时对类型的困惑会比较多。
  • 此仓库提供了一个 vuex 的 TypeScript 版本,覆盖了官方文档提到的,除了日志插件以外的所有 API 的实现,且添加了与官方库单元测试用例相同的 TypeScript 版本。相信能帮助更多人更好的阅读 vuex 源码。

缺点

  • 对于 state,getters 并没有采用严格的类型约束,而是简单的使用了 any。
  • 并不支持在项目中通过npm install调用,实际项目使用还是以官方库为准。