H5W3
当前位置:H5W3 > 其他技术问题 > 正文

【前端问题精选】如何将一个约束应用到两个文件中去?

假设有这样一个接口约束:

book {
  name: string,
  price: number,
  authors: string[],
  ...
}

独立的功能封装在utils.ts中

//utils.ts
function appendBookInfo(info: book){
//...
}
...
export {
   appendBookInfo,
   ...
}

而图书管理作为一个类对像写在另一个独立文件中

//manage.ts
class BookList{
  constructor(list: book[]){
    //... 
  }
  //...
}

那么问题来了,不管是utils.ts文件中的info还是manage.ts文件中的list,它们都需要接口book的约束。这样的话,声明文件或接口定义岂不是要写两次,冗余了。应该怎么处理呢?

回答:

按照标准的写法应该是

export interface book {
name: string,
price: number,
authors: string[],

}

这样定义接口,并且放在一个独立文件中,例如book.ts。

然后用到的文件,比如utils.ts/manage.ts只需要在文件中import {book} from ‘./book’,就可以不需要再次定义book接口。

回答:

楼上通过export导出是一种方案,还有一种是全局定义,通常这种到处都会用到的数据类型,我会挂在全局(当然不一定推荐),具体参看我自己的typescript经验总结,翻到最底下。

本文地址:H5W3 » 【前端问题精选】如何将一个约束应用到两个文件中去?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址