簡體   English   中英

npm @types org包中的TypeScript類型

[英]TypeScript typings in npm @types org packages

我注意到有一個npm組織@types ,它包含輸入包,但找不到任何文檔。 這些意味着如何使用?

它是否意味着與打字工具一起使用? 如果是這樣,如何安裝它們? 例如,有一個@types/openlayers包,但是輸入typings search npm:openlayers什么都不返回。

它是否意味着與打字工具分開使用? 例如直接用npm安裝?

從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 ,我沒有得到任何結果。 但是從網絡界面進行搜索確實會給我帶來結果。 所以我猜npm search不會跨組織搜索。

TypeScript博客上的公告回答了這個問題: 宣言文件的未來

摘要:

@types npm組織用於獲取npm類型定義。 使用這些類型定義是TypeScript 2.0中的一項功能。

這將取代目前的工程/工具,如分型TSD ,雖然這些會持續一段時間的支持。

這將是一個在Typescript 2.0中推出的功能。 這為UMD模塊/庫及其各自的定義提供了類型支持。

請參閱( 內置支持UMD模塊定義 )以更好地了解當前環境類型的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM