DefinitelyTyped 如何将声明文件绑定到 JavaScript 库?
How does DefinitelyTyped bind the declaration file to the JavaScript library?
我想知道 DefinitelyTyped
的每个声明类型如何绑定到其相关的 JavaScript 库。例如@type/lodash
如何链接到js库lodash
?
说明书上说可以在npm包的package.json
里面加一个"type"
标签,但是我找了好几个JavaScript组件都没看到,包括angular
、ace
等
哪位精通TypeScript的能告诉我窍门吗?谢谢!
这是一个默认的编译器选项。在tsconfig中你可以设置一个typeRoots
属性。默认情况下,它设置为 node_modules/@types
因此它将加载您下载到 @types 文件夹中的所有类型定义。您也可以覆盖此设置(例如,如果您需要另外提供自己的类型),因此请在 tsconfig.json:
中更改此设置
{
"compilerOptions": {
"typeRoots" : ["./typings"]
}
}
package.json 中的 "types" 属性 适用于 npm 包,您可以在其中随库一起提供类型定义。这告诉打字稿编译器在哪里可以找到相应的类型定义。许多库不会将这些类型定义与 npm 包一起提供。对于此类数据包,您需要从 Definetely Typed 存储库下载类型定义或创建您自己的自定义类型。 Lodash 显然是其中之一。
我想知道 DefinitelyTyped
的每个声明类型如何绑定到其相关的 JavaScript 库。例如@type/lodash
如何链接到js库lodash
?
说明书上说可以在npm包的package.json
里面加一个"type"
标签,但是我找了好几个JavaScript组件都没看到,包括angular
、ace
等
哪位精通TypeScript的能告诉我窍门吗?谢谢!
这是一个默认的编译器选项。在tsconfig中你可以设置一个typeRoots
属性。默认情况下,它设置为 node_modules/@types
因此它将加载您下载到 @types 文件夹中的所有类型定义。您也可以覆盖此设置(例如,如果您需要另外提供自己的类型),因此请在 tsconfig.json:
{
"compilerOptions": {
"typeRoots" : ["./typings"]
}
}
package.json 中的 "types" 属性 适用于 npm 包,您可以在其中随库一起提供类型定义。这告诉打字稿编译器在哪里可以找到相应的类型定义。许多库不会将这些类型定义与 npm 包一起提供。对于此类数据包,您需要从 Definetely Typed 存储库下载类型定义或创建您自己的自定义类型。 Lodash 显然是其中之一。