我注意到有一个npm组织@types,其中包含键入包,但找不到任何文档。这些将如何使用?
它是否打算与打字工具一起使用?如果是这样,如何安装它们?例如,有一个@types/openlayers
包,但是typings search npm:openlayers
什么也不返回。
它是要与打字工具分开使用吗?例如直接安装npm
?
我注意到有一个npm组织@types,其中包含键入包,但找不到任何文档。这些将如何使用?
它是否打算与打字工具一起使用?如果是这样,如何安装它们?例如,有一个@types/openlayers
包,但是typings search npm:openlayers
什么也不返回。
它是要与打字工具分开使用吗?例如直接安装npm
?
Answers:
从TypeScript 2.0开始,不再需要键入内容。npm组织是建立开发人员团队的实体。我相信Microsoft在npm中设置了@types组织,并将TypeScript开发人员团队添加到该组织中。在@types组织下软件包自动从DefinitelyTyped使用类型的出版商工具按已发布的文档。
另外,还有另一种添加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
,我没有得到任何结果。但是从Web界面进行搜索确实返回了结果。因此,我想npm search
不会跨组织进行搜索。
package.json
在types
属性下指定了一个文件,因此我注意到您在谈论捆绑的声明文件。在像gulp这样的自动构建系统中,最简单的方法是什么?
"main"
如果主文件名为index.js,是否必须添加该字段?
"typings"
字段是的同义词"types"
,也可以使用”
core-js
w /之类的东西之后npm i @types/core-js --save
,我可以看到它在文件夹中,但是项目仍然会因某些原因而引发错误。还有什么我应该做的吗?我是否需要让tsconfig注意@types或其他内容?就像肖恩(Sean)所说的那样,目前还没有关于类型的文档:(
tsdk
需要指向TS的2.0beta版本安装
tsconfig.json
使用"types"
列出这些模块名称的数组属性进行更新,例如"types": ["core-js"]
这将是Typescript 2.0中推出的功能。这为UMD模块/库及其各自的定义提供了类型支持。
请参阅(对UMD模块定义的内置支持)以更好地了解环境类型当前存在的问题。
/// <reference
场景?TypeScript编译器会自动在下查找类型吗node_modules/@types
(因为它在node_modules
when中查找模块'moduleResolution': 'node'
)?这意味着什么typings
-它也处理环境依赖性。有什么关系吗?