Vuex 4源码学习笔记 - 通过Vuex源码学习TypeScript类型测试(十二)

在上一篇笔记中:Vuex 4源码学习笔记 - 通过Vuex源码学习E2E测试(十一)

我们通过jestpuppeteer来实现了Vuex的e2e测试。

那么今天我们来继续看另外的TypeScript测试,那么TypeScript测试是什么呢?

首先Vuex的源码是使用JavaScript来开发的,并没有类型的声明,那么Vuex要实现TypeScript的类型就只能通过TypeScript的.d.ts来去描述类型。

image-20211130220500525

我们可以看到在types文件夹下有几个.d.ts的文件,他们都是用来描述TS类型的文件。

image-20211130220729804

比如其中的index.d.ts文件,可以看到声明类型的代码量不小,其实占Vuex源码的很大一部分,但这其实也很重要,对于一个上百万人使用的库来说,做好类型定义是非常有意义的。可能对一些对并不熟悉TypeScript的小伙伴来说这些代码可能并不是很好理解,像我来说平时其实用TypeScript也没有这么深入,有些地方看起来确实需要琢磨琢磨,不过多看就好了。

import {
    App, WatchOptions, InjectionKey } from "vue";

// augment typings of Vue.js
import "./vue";

import {
    mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers } from "./helpers";
import {
    createLogger } from "./logger";

export * from "./helpers";
export * from "./logger";

export declare class Store<S> {
   
  constructor(options: StoreOptions<S>);

  readonly state: S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值