[TS]组织ts中的类型

前言

项目中会有很多类型声明,有时A开发一个模块时,声明了 TypeA,B声明 TypeB,这两个类型非常相似,但由于A不知道B也声明了类似的类型,导致重复声明。
类型文件的存放的位置也可能不一样,日积月累,项目中的类型文件越来越混乱。

小型项目

在全局建一个types文件夹,其中有唯一类型声明文件index.d.ts,这种方法在小型项目中可以使类型得到很好的引入和复用。

// src/types/index.d.ts
export interface User {
  id: number;
  name: string;
  password: string;
}

// 使用类型的地方
// src/services/authService.ts
import { User } from '../types';

function authenticateUser(credentials: {name: string, password: string}): User {
  // 实现略
}

大型项目

types.d.ts

大型项目中也可以使用上述方法,但可能会导致一个文件过于庞大。
优化方法:

  1. 可以根据一定维度(页面、组件、接口等)划分 namespace
  2. 可以通过 /** */ 形式的注释为给 TypeScript 类型做标记提示

按功能或模块划分类型

将类型定义与它们所服务的功能或模块放在一起。例如,如果有一个user模块,那么相关的类型定义应该放在user目录下的index.d.ts文件中。
也可以使用索引文件,即在每个模块或功能目录内,可以创建一个index.d.ts作为类型导出的入口点,便于其他部分引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值