目录

🌑 初始化 TypeScript 库项目

🍞 相关资源:

# 创建项目

clone typescript-library-starter 项目:

git clone git@github.com:alexjoverm/typescript-library-starter.git axios-typescript
1

文件目录相关:

├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── code-of-conduct.md
├── node_modules
├── package-lock.json
├── package.json
├── rollup.config.ts // rollup 配置文件
├── src // 源码目录
├── test // 测试目录
├── tools // 发布到 GitHup pages 以及 发布到 npm 的一些配置脚本工具
├── tsconfig.json // TypeScript 编译配置文件
└── tslint.json // TypeScript lint 文件
1
2
3
4
5
6
7
8
9
10
11
12
13

集成工具:

# 入口文件

删除原来 src 的文件,创建整个库入口文件 index.ts 。先定义一个 axios 方法,并默认导出:

function axios(config) {

}

export default axios
1
2
3
4
5

要给 config 参数定义一种接口类型。创建 types 目录存放类型接口。

定义 AxiosRequestConfig 接口类型和请求方法字符串字面量类型 Method

export interface AxiosRequestConfig {
  url: string
  method?: Method
  data?: any
  params?: any
}

export type Method =
  'get'
  | 'GET'
  | 'post'
  | 'POST'
  | 'delete'
  | 'DELETE'
  | 'head'
  | 'HEAD'
  | 'options'
  | 'OPTIONS'
  | 'put'
  | 'PUT'
  | 'patch'
  | 'PATCH'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

然后在入口文件 index.ts 引入类型作为 config 参数的类型:

📢 上次更新: 2022/09/02, 10:18:16