首页 文章

npm @types org包中的TypeScript类型

提问于
浏览
111

我've noticed there'是一个npm组织@types,其中包含打字包,但找不到任何文档 . 这些意味着如何使用?

它是否意味着与typings工具一起使用?如果是的话,如何安装它们?例如,有一个@types/openlayers包,但 typings search npm:openlayers 什么都不返回 .

它是否意味着与打字工具分开使用?例如 . 直接安装 npm

3 回答

  • 89

    从TypeScript 2.0开始,不再需要打字 . npm组织是设置开发人员团队的实体 . 我相信Microsoft在npm中设置了@types组织,并将TypeScript开发团队添加到组织中 . @types组织下的软件包将根据docs使用types-publisher工具从DefinitelyTyped自动发布 .

    此外,还有另一种方法可以将 types 添加到您的包中:

    In your 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" 属性,但建议这样做 .

    Regarding searching types

    在大多数情况下,类型声明包应始终与npm上的包名称相同,但前缀为@ types /,但如果需要,可以查看https://aka.ms/types以查找你最喜欢的图书馆的包 .

    从 - http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html

    但当我做 npm search @types/openlayers 时,我没有得到任何结果 . 但是从网络界面进行搜索确实会给我带来结果 . 所以我猜 npm search 不会跨组织搜索 .

  • 6

    TypeScript博客上的公告回答了这个问题:The Future of Declaration Files

    摘要:

    @types npm组织用于获取 npm 的类型定义 . 使用这些类型定义是TypeScript 2.0中的一项功能 .

    这将取代当前的项目/工具,如typingstsd,尽管这些将继续得到支持一段时间 .

  • 40

    这将是一个在Typescript 2.0中推出的功能 . 这为UMD模块/库及其各自的定义提供了类型支持 .

    请参阅https://github.com/Microsoft/TypeScript/issues/7125#issuecomment-210182488以更好地了解当前环境类型的问题 .

相关问题