第三十六期:近期文档计划

2022-07-15 10:13:16 浏览数 (1)

近期应该没什么别的事情了,最近的开发任务有点多,这周也没有去看Vuex相关的细节。

在途的文档中对于Vuex的分析大概会从以下几个方面入手:

  • 使用场景
  • 基础知识
  • 基本概念
  • 模块儿和模块收集器
  • 映射方法
  • mutation 和 action
  • commit 和 dispatch
  • 安装和实例化
  • 后续思考

目前已经梳理到了模块儿和模块儿收集器,等下周这次的业务需求上完线,会继续往下梳理。

等这个vuex整体的原理梳理完之后,计划重新梳理Vue源码中的内容。

之前一直知道Vuex是一个发布订阅模式,但是没有去看过它到底是怎么实现的。昨天又抽了点时间大致看了一下,瞬间就明白了。

源码里的核心我感觉应该可以分为这几个点:

  • 动态创建命名空间
  • 分别缓存actions 和mutations
  • mapper映射函数

动态创建命名空间就是动态的创建一个嵌套的state对象。

对actions和mutations分别进行缓存,其实就是为了实现发布订阅,唯一的不同是,在触发actions动作的时候会借助Promise.resolve()对action进行Promise化。

代码里的函数有些地方确实是非常巧妙,比如对浅拷贝的使用:

代码语言:javascript复制
const entry = store._mutations[key] || (store._mutations[key]=())

entry.push(function getName(){
  console.log('terrence')
})

上面这段代码实际上使用了浅拷贝的知识点。

这周末没时间了,预计下周吧,下周可能会对Vuex相关的内容做个总结,然后就开始重新去梳理Vue相关的比较核心的内容。

关于Vue呢,粗略的看过源码中的内容,但是没有系统的去梳理过中间的知识点,梳理一篇自己文档这个事情是也必须要做的一件事儿。

对于Vue的分析,目前大致划分以下几块儿内容:

  • 虚拟dom
  • 虚拟dom的编译complie
  • 虚拟dom的渲染
  • 响应式原理
  • 生命周期函数的实现
  • 全局API的实现

之所以将虚拟Dom放在最前面,是因为我一直认为它才是Vue的核心,其他的都是基于虚拟Dom实现的。

还有一个计划是对微信生态相关的内容做个梳理,比如:公众号,小程序以及企业微信,预计Vuex这个文档完事儿后,微信生态相关的内容梳理就正式开始,准备对其中的登录、分享、消息推送等一些常见的功能及配置流程进行一下梳理,可以给产品、运营以及相关业务的开发予以指导。

有时候感觉写文档其实比单纯的写代码还难,代码功能就是一个知识点,会了就能写。写文档需要考虑写什么,怎么写,怎么写大家才能看明白,同时有需要有一定的深度,写一篇好的技术文档确实挺难的。

关于Flutter呢,有点准备放弃了,Xcode到现在还没装上,这个东西的开发对硬件要求有点太高了,没办法,俗话说的好,巧妇难为无米之炊。

今天就这样吧。

0 人点赞