在Typescript中index.d.ts的主要用途是什么?

Yon*_*Fei 18 typescript

我看到一些项目声明了所有类型index.d.ts.这样程序员就不需要从其他文件中显式导入该类型.

import { TheType } from './somefile.ts'
Run Code Online (Sandbox Code Playgroud)

这是index.d.ts文件的正确用法吗?我在官方文档中找不到任何内容.

deg*_*ege 15

*.d.ts 文件用于提供有关用JavaScript编写的模块的打字稿类型信息,例如下划线/ lodash/aws-sdk.

这将允许您使用javascript模块,而无需将它们转换为ts而不会在代码上出现任何类型错误.

例如,如果你有一个文件夹myAwesomeLib,带有index.js和index.d.ts文件

在您的代码上,您将能够导入代码

import { SomeMethod } from './myAwesomeLib';
Run Code Online (Sandbox Code Playgroud)

要么

import { SomeMethod } from './myAwesomeLib/index';
Run Code Online (Sandbox Code Playgroud)

你的打字稿将依赖于.d.ts文件来找到正确的类型SomeMethod

编辑:有关Declarion文件的更多信息https://basarat.gitbooks.io/typescript/docs/types/ambient/d.ts.html

  • 如果您有`index.ts`,则不需要`index.d.ts` (5认同)
  • @dege 我来到这里是因为我试图弄清楚如何为 JS 包贡献类型。使用 TS 几个月了,没想到用 TS 编写的包不需要声明文件!每天学些新东西。 (3认同)