在大型TypeScript项目中共享类型的最佳方法?

时间:2019-12-20 08:47:11

标签: javascript reactjs typescript

我正在使用TypeScript编写大型React应用程序。我在单独的文件中声明了许多常见类型,每次需要类型时,我都会将其导入。它运作良好,但会产生大量不同的进口,我绝对不喜欢。

另一种选择是使用.d.ts文件全局声明类型,并且能够使用类型而无需显式导入它们。这是一种更好的做法,还是我应该坚持进口?

1 个答案:

答案 0 :(得分:1)

我认为这是最好的常识性方法。例如,我们现在正在使用Monorepo在大型React应用程序中工作,并为共享组件提供共享存储库。因此,我们有关于声明和组件之类的规则:

  • 如果您在多个位置使用类型/接口,它将进入〜shared / lib / types.ts文件
  • 如果某个组件在多个地方使用过,它将被重构到〜shared / components文件夹中
  • 如果扩展类型/接口,则可以在本地声明它,但只要不被使用一次以上

一旦人们习惯了这些简单的规则,它就会使开发工作变得更加容易。开发人员习惯于在需要时进行重构,但也需要考虑如何编码。