Typescript 我应该在哪里放置类型/接口,以便它们在全球范围内可用?

Typescript 我应该在哪里放置类型/接口,以便它们在全球范围内可用?,typescript,typescript-typings,Typescript,Typescript Typings,关于TypeScript,有一个问题一直困扰着我——我应该把给定类附带的类型/接口放在哪里?它们有很多,并且在代码库中都有使用,因此我不想一直导入它们,而只是像普通原语一样(例如字符串、数字等)全局可用.虽然不鼓励使用全局类型,也不建议使用全局类型,但您可以用一种非常简单的方法来实现它-创建.ts文件,该文件没有导入/导出语句(基本上不定义为模块)。该文件夹中的所有内容都可以在其他typescript文件中全局访问 您只需要在编译中包含这些.ts文件,其中一种方法是通过tsconfig.json

关于TypeScript,有一个问题一直困扰着我——我应该把给定类附带的类型/接口放在哪里?它们有很多,并且在代码库中都有使用,因此我不想一直导入它们,而只是像普通原语一样(例如字符串、数字等)全局可用.

虽然不鼓励使用全局类型,也不建议使用全局类型,但您可以用一种非常简单的方法来实现它-创建
.ts
文件,该文件没有
导入/导出
语句(基本上不定义为模块)。该文件夹中的所有内容都可以在其他typescript文件中全局访问

您只需要在编译中包含这些
.ts
文件,其中一种方法是通过
tsconfig.json的
include
属性

{
  "compilerOptions": {
    //...
  },
  "include": [
    "src/**/*" // or whatever path suits you fine
  ]
}

您可以通过创建一个类型文件(例如
globals.d.ts
)在全局范围内声明模块,该文件如下所示:

declare global {

}

您在内部声明的类型将在全局范围内可用。然后您只需要确保typescript包含该文件。默认情况下,Typescript将包括所有
.ts
.d.ts
.tsx

有没有更可持续的方法,比如把所有东西都放在一个大文件中,听起来既不可维护也不优雅?