web-dev-qa-db-ja.com

npm @types組織パッケージ内のTypeScriptタイピング

私はnpm組織 @ types があることに気付きました。これにはタイピングパッケージが含まれていますが、それに関するドキュメントは見つかりません。これらはどのように使われるつもりなのでしょうか。

それは typings toolと一緒に使うことを意図していますか?もしそうなら、それらをインストールする方法?たとえば、 @types/openlayers パッケージがありますが、typings search npm:openlayersは何も返しません。

それはタイピングツールとは別に使用されることを意図していますか?例えば。 npmで直接インストールしますか?

120
Ronald Zarīts

TypeScript 2.0からは、タイピングは不要になりました。 npm組織は、開発者チームを結成するための団体です。私は、Microsoftがntypeに@types組織を設立し、その組織にTypeScript開発者チームを追加したと思います。 @types編成のパッケージは docs に従ってtypes-publisherツールを使って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は組織を越えて検索しないと思います。

TypeScriptブログの発表はこれに答えます: 宣言ファイルの未来

概要:

@types npmという組織は、npmを使って型定義を取得するためのものです。これらの型定義を使用することは、TypeScript 2.0で提供されている機能です。

typingstsd などの現在のプロジェクト/ツールに代わるものですが、しばらくの間はサポートされます。

41
Ronald Zarīts

これはTypeScript 2.0でロールアウトされる機能になるでしょう。これはUMDモジュール/ライブラリとそのそれぞれの定義に対する型サポートを提供します。

現在アンビエントタイピングに関する問題をよりよく理解するには、 https://github.com/Microsoft/TypeScript/issues/7125#issuecomment-210182488 を参照してください。

6
Sean Larkin