我已经阅读了数十页内容,试图找出在TypeScript中设置我的类型定义的最佳方法。
- 我曾经在我的项目中的某个地方有一个
typings.ts
文件,然后通过以下方式在每个文件中导入所需的类型:
import {IMyCustomType} from './typings';
然后在我的类型文件中声明这些类型:
export interface IMyCustomType {...}
- 在使用这个模板后:https://github.com/rokoroku/react-redux-typescript-boilerplate/tree/master/types,我意识到他们在项目根目录的
types
文件夹中使用了一个models.d.ts
文件。
他们用declare interface IMyCustomType {..}
代替export interface IMyCustomType {..}
对我来说,这种设置有一个很大的优点:我不需要在每个文件中显式导入类型,接口直接在整个项目中可用。
问题:
1)所有**/ * .d.ts
文件都将在编译期间自动导入是否正确?
2)使用declare
并使所有类型在整个项目中可用是一个好习惯吗?
3)是否有标准的目录路径和名称可以放置我的类型定义?
基本上,我正在尝试使我的全局接口在项目中自动可用,而无需显式导入它们。我应该这样做吗?如何设置项目以实现此目的?
更新
在与我的团队讨论后,大多数人反对使用环境类型,因此我们决定在需要时导入类型。为了使这更容易,我们依赖于我们的IDE自动导入所需的类型。