npm @types orgパッケージでのTypeScriptタイピング


135

タイプパッケージを含むnpm組織@typesがあることに気づきましたが、それに関するドキュメントは見つかりません。これらはどのように使用されるのですか?

タイピングツールで使用するためのものですか?もしそうなら、それらをインストールする方法?たとえば、@types/openlayersパッケージはありtypings search npm:openlayersますが何も返しません。

タイピングツールとは別に使用するためのものですか?たとえば、npm


11
この質問をありがとう。
レオン・ペルティエ

回答:


109

TypeScript 2.0以降、タイピングは不要になりました。npm組織は、開発者チームをセットアップするエンティティです。Microsoftは@types組織をnpmにセットアップし、TypeScript開発者チームを組織に追加したと思います。@types組織の下にパッケージがあたりとしてタイプ・パブリッシャーツールを使用して自動的にDefinitelyTypedから公開されているドキュメント

さらに、typesパッケージに追加する別の方法があります:

あなたのpackage.jsonで

パッケージにメイン.jsファイルがある場合は、ファイル内のメイン宣言ファイルも指定する必要がありますpackage.jsontypesバンドルされた宣言ファイルを指すようにプロパティを設定します。例えば:

{
    "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は組織全体を検索しないと思います。


正解です。マイナーな編集は良いですが、これは現在の状態を説明するのにより良い仕事をします。
RonaldZarīts16年

プロパティのpackage.json下ので単一のファイルを指定しているのでtypesバンドルされた宣言ファイルについて話していることに気づきました。gulpのような自動ビルドシステムでこれを実現する最も簡単な方法は何でしょうか。
Nicky

"main"メインの名前がindex.jsの場合、フィールドを追加する必要がありますか?
Knu

1
この"typings"フィールドはと同義であり"types"、同様に使用できることに注意してください」
Serhii Popov

42

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

概要:

@typesNPMの組織がで型定義を得るためですnpm。これらの型定義の使用は、TypeScript 2.0で提供される機能です。

これは、typingstsdなどの現在のプロジェクト/ツールを置き換えますが、これらはしばらくサポートされ続けます。


1
こんにちは、ロン、だから私はこれらの設定を取得しようとしていますが、VSCodeがそれらをインストールしたことを認識していないようです。core-jsw / などを使用した後npm i @types/core-js --save、フォルダー内にあることがわかりますが、プロジェクトはまだエラーをスローします。他に何かすべきことはありますか?tsconfigに@typesなどを認識させる必要がありますか?ショーンが言ったように、型についてのドキュメントはまだどこにもありません:(
Mark Pieszak-Trilon.io

@MarkPieszak VSCodeがTS2.0を使用していることを確認する必要があります。TypeScriptをローカルにインストールしてVSCodeで使用する方法については、こちらをご覧ください:github.com/Microsoft/TypeScript/wiki/Nightly-drops
nino.porcino

はい、それは@ nino.porcinoでした。ありがとう:) tsdkTSの2.0betaインストールを指定する必要がありました
Mark Pieszak-Trilon.io 16年

少なくとも、私たちが更新しているいくつかのチームプロジェクト(および私たちが見た他のGHプロジェクトでも)tsconfig.jsonは、"types"それらのモジュール名をリストする配列プロパティで更新する必要があります。例"types": ["core-js"]
superjos

7

これはTypescript 2.0で導入される機能になる予定です。これは、UMDモジュール/ライブラリとそれらのそれぞれの定義の型サポートを提供します。

UMDモジュール定義の組み込みサポート)を参照して、現在アンビエントタイピングの問題をよりよく理解してください。


ありがとうございました!これは便利ですが、@ types npm orgに関するGitHubの問題は見当たりません。@types組織は特にUMD /// <referenceシナリオ専用ですか?TypeScriptコンパイラは、node_modules/@typesnode_moduleswhen でモジュールを探すように)自動的にタイプを探します'moduleResolution': 'node'か?これは何を意味するのかtypings-アンビエント依存関係も処理します。何か関連がありますか?
RonaldZarīts16年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.