我已阅读了几十页,试图找出在TypeScript中设置类型定义的最佳方法。
typings.ts
文件,然后通过执行类似 import {IMyCustomType} from './typings';
在我的打字文件中,我会声明我的类型:
export interface IMyCustomType {...}
models.d.ts
文件夹中使用了types
。他们使用export interface IMyCustomType {..}
declare interface IMyCustomType {..}
这个设置对我来说有一个很大的优势:我不需要在每个文件中显式导入类型,并且接口在整个项目中直接可用。
问题:
1)在编译期间是否会自动导入所有**/*.d.ts
文件是否正确?
2)使用declare
并使所有类型都可用于整个项目是一种好习惯吗?
3)是否有标准的目录路径和名称,我应该在哪里放置我的类型定义?
基本上我试图使我的全局接口在我的项目中随处可用,而不必明确地导入它们。这是我应该做的事情,我如何设置我的项目来实现这个目标?
更新
在我的团队提出这个问题之后,大多数人反对拥有环境类型,因此我们决定在需要时导入类型。为了使这更容易,我们依靠我们的IDE自动导入所述类型。
答案 0 :(得分:1)
从Typescript 2开始,您应该使用d.ts
个文件。使用这种方法可以减少很多配置文件。
您可以在以下网址找到更多相关信息:
答案 1 :(得分:1)
您应该使用@types NPM范围。您可以在Typescript Handbook中找到更详细的指南,但基本上您只需要运行NPM命令:
npm install --save @types/lodash
关于您的问题,基本上使用这种方法您根本不需要担心类型定义文件,它们对第三方库的存在对您来说是透明的(您不关心它们的位置)或者如何导入它们,你只需要自己导入模块。)
关于使用declare
,我认为这是一个单独的主题,但您可以查看此问题:What's the difference between "declare class" and "interface" in TypeScript