我注意到有一个 npm 组织@types,其中包含打字包,但找不到任何文档。这些是如何使用的?
它是要与打字工具一起使用吗?如果是这样,如何安装它们?例如,有一个@types/openlayers
包,但typings search npm:openlayers
没有返回任何内容。
它是否意味着与打字工具分开使用?例如直接安装npm
?
我注意到有一个 npm 组织@types,其中包含打字包,但找不到任何文档。这些是如何使用的?
它是要与打字工具一起使用吗?如果是这样,如何安装它们?例如,有一个@types/openlayers
包,但typings search npm:openlayers
没有返回任何内容。
它是否意味着与打字工具分开使用?例如直接安装npm
?
从 TypeScript 2.0 开始,不再需要打字。npm 组织是建立开发团队的实体。我相信微软在 npm 中设置了 @types 组织,并将 TypeScript 开发人员团队添加到该组织中。@types 组织下的包是根据docs使用 types-publisher 工具从 DefinitiveTyped 自动发布的。
此外,还有另一种方法可以添加types
到您的包中:
在你的 package.json
如果你的包有一个主.js
文件,你也需要在你的package.json
文件中指明主声明文件。将types
属性设置为指向捆绑的声明文件。例如:
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
请注意,该"typings"
字段与 同义"types"
,也可以使用。
另请注意,如果您的主声明文件已命名index.d.ts
并位于包的根目录(在 旁边index.js
),则无需标记该"types"
属性,但建议这样做。
关于搜索类型
在大多数情况下,类型声明包应始终与 npm 上的包名称相同,但以 @types/ 为前缀,但如果需要,您可以查看https://aka.ms/types以查找包为您最喜欢的图书馆。
来自 - http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html
但是当我这样做时npm search @types/openlayers
,我没有得到任何结果。但是从网络界面进行搜索确实返回了结果。所以我猜npm search
不会跨组织搜索。
这将是 Typescript 2.0 中推出的一项功能。这为 UMD 模块/库及其各自的定义提供了类型支持。
请参阅(对 UMD 模块定义的内置支持)以更好地了解当前环境类型的问题。