2017-08-04 7 views
2

Heyho、活字体:私はタイピングがNPMに存在しないそのために私typescriptですコード内のいくつかのJavaScriptライブラリを使用するモジュール型定義

を探すためのディレクトリを指定します。だから私は自分でタイプ入力を書いて、自分のソースツリーのdefinitionsディレクトリに入れました。しかし、それらのモジュールのディレクトリを見るためにtypescriptを得ることができませんでした。

私のディレクトリ構造は次のようになります。

+-node_modules 
| | 
| +-moduleA 
| | 
| +-moduleB 
| 
+-src 
| | 
| +-definitions 
| | | 
| | +-moduleA.d.ts 
| | | 
| | +-moduleB.d.ts 
| | 
| +-ts 
| | 
| + ... all typescript code ... 
| 
+-tsconfig.json 

私は

  • include
  • files
  • typeRoots
  • 012を使用してdefinitions -directoryのモジュールを含めてみました

しかし、どれもうまくいきませんでした。

タイピングを含むタイピングをどのように取得するのか教えていただけますか?

PS:なぜ処理されているタイプスクリプトモジュールはとても複雑ですか?

答えて

2
{ 
    "compilerOptions": { 
    "typeRoots": [ 
     "./node_modules/@types", 
     "./some-custom-lib" 
    ] 
    } 
} 

typeRootsの文字列配列は、ちょうどそのためです。通常の "node_modules/@ type"に加えて、カスタムメイドの入力フォルダを追加します。

+0

これは私のモジュール定義にimport文がない限り動作します。しかし、インポートがなければ、モジュールを正しくタイプできません。 – jsf

+0

'typeRoots'は、モジュール形式ではなくスクリプト形式での型付けを期待しているので、これは機能しません。 – unional

+0

これはどこかに記載されていますか?私はそのようなことに関する情報を見つけることができませんでした。 – jsf

0

triple-slash Directivesにそれらを含めて、コンパイラに使用させることができます。

など。 index.d.tsファイルを作成し、定義フォルダを作成します。そこには、あなたが作ったすべてのカスタムタイピングを含めることができます。タイピングインサイドこの

/// <reference path="react.patch.d.ts" /> 
/// <reference path="custom-typings.d.ts" /> 

は、最初の行は、その後、あなたのtsconfig.jsonにあなたが例えばfilesフィールドにそれらを含める

/// <reference types="nameOfIt" /> 

なければならないファイルのようにそれは見ることができます

"files": [ 
    "definitions/index.d.ts" 
    ] 
関連する問題