Heyho、
TypeScriptコードで一部のjavascriptライブラリを使用したいのですが、npmには入力がありません。だから私は自分でタイピングを書いて、ソースツリーのdefinitions
ディレクトリに入れました。ただし、TypeScriptでそれらのモジュールをそのディレクトリで検索できませんでした。
私のディレクトリ構造は次のようになります:
+-node_modules
| |
| +-moduleA
| |
| +-moduleB
|
+-src
| |
| +-definitions
| | |
| | +-moduleA.d.ts
| | |
| | +-moduleB.d.ts
| |
| +-ts
| |
| + ... all TypeScript code ...
|
+-tsconfig.json
definitions
-ディレクトリにモジュールを含めてみました
include
files
typeRoots
paths
しかし、どれもうまくいきませんでした。
TypeScriptにそれらの入力を含める方法を誰かに教えてもらえますか?
PS:TypeScriptモジュールの処理がなぜそれほど複雑なのですか?
{
"compilerOptions": {
"typeRoots": [
"./node_modules/@types",
"./some-custom-lib"
]
}
}
typeRoots文字列配列はそのためのものです。通常の「node_modules/@ type」に加えて、カスタムメイドの型付けフォルダーを追加します。
triple-slash Directives でそれらを含めて、コンパイラにそれらを使用するように指示できます。
例えば。 index.d.ts
ファイルを作成し、定義フォルダーに配置します。そこで、あなたが作ったすべてのカスタムタイピングを含めることができます。こんな感じ
/// <reference path="react.patch.d.ts" />
/// <reference path="custom-typings.d.ts" />
タイプファイル内の最初の行は
/// <reference types="nameOfIt" />
次に、tsconfig.json
files
フィールドにそれらを含めます。
"files": [
"definitions/index.d.ts"
]