DefinitelyTyped 如何将声明文件绑定到 JavaScript 库?

How does DefinitelyTyped bind the declaration file to the JavaScript library?

我想知道 DefinitelyTyped 的每个声明类型如何绑定到其相关的 JavaScript 库。例如@type/lodash如何链接到js库lodash

说明书上说可以在npm包的package.json里面加一个"type"标签,但是我找了好几个JavaScript组件都没看到,包括angularace

哪位精通TypeScript的能告诉我窍门吗?谢谢!

这是一个默认的编译器选项。在tsconfig中你可以设置一个typeRoots 属性。默认情况下,它设置为 node_modules/@types 因此它将加载您下载到 @types 文件夹中的所有类型定义。您也可以覆盖此设置(例如,如果您需要另外提供自己的类型),因此请在 tsconfig.json:

中更改此设置
{
   "compilerOptions": {
       "typeRoots" : ["./typings"]
   }
}

package.json 中的 "types" 属性 适用于 npm 包,您可以在其中随库一起提供类型定义。这告诉打字稿编译器在哪里可以找到相应的类型定义。许多库不会将这些类型定义与 npm 包一起提供。对于此类数据包,您需要从 Definetely Typed 存储库下载类型定义或创建您自己的自定义类型。 Lodash 显然是其中之一。