npmパッケージreact-sortable-tree
の型定義が書かれています。私はそれをどのように消費すべきかを理解することができません。ここで私が試したことがあります。npmモジュールのカスタムタイプ定義はどのように消費しますか?
定義ファイルreact-sortable-tree/index.d.ts
(Typescript documentationに記載されている指示に従います)に名前を付けて、ファイル名をtsconfig.json
に追加しました。 Typescriptコンパイラ(バージョン2.2.1)は、モジュールの定義を見つけることができませんでした。私はmodule resolution methodsClassic
とNode
の両方を試してみました。
ファイルの名前をreact-sortable-tree.d.ts
と変更した後、コンパイラは解決方法Classic
でファイルを認識しました。ただし、npmパッケージに含まれているタイプ定義ファイル(たとえば、redux
)を含む他のモジュールがあり、コンパイラはこれらのパッケージの定義を見つけることができません。
解決方法Node
を使用する場合、コンパイラは、定義したパッケージを除くすべてのパッケージの型定義を見つけます。 react-sortable-tree
パッケージの場合、コンパイラはパッケージに付属の実際のJavascriptファイルへのパスを解決し、定義を無視します。その結果、型チェックは行われません。
コンパイラが自分の型定義を考慮するために、どのように定義したらいいですか?
読んだ後[documentation](https://www.typescriptlang.org/docs/handbook/module-resolution.html)さらに、私は 'node_modules'という名前のディレクトリを作成し、そこに自分の定義を入れてコンパイラを再それに解決する。私は試して、それは動作します。 'npm'で管理されていない' node_modules'という名前のディレクトリを持つことはできますか? –
あなた自身のnode_modulesフォルダを作成する必要はありません.nodは後でnode_modulesを使用する場合に備えてお勧めします。 – Flion