ルートフィールド
最初に、tsconfig のルートオプションについて説明します。これらのオプションは、TypeScript プロジェクトまたは JavaScript プロジェクトの設定方法に関連しています。
# Files - files
# Extends - extends
extendsの値は、継承する別の設定ファイルへのパスを含む文字列です。パスはNode.jsスタイルの解決を使用できます。
基本ファイルの設定が最初に読み込まれ、その後、継承する設定ファイルの設定によって上書きされます。設定ファイルに見つかったすべての相対パスは、それらが由来した設定ファイルに対して解決されます。
files、include、およびexcludeは、継承する設定ファイルから基本設定ファイルを *上書き* し、設定ファイル間の循環は許可されないことに注意してください。
現在、継承から除外される最上位レベルのプロパティはreferencesのみです。
例
configs/base.json:
{"": {"": true,"": true}}
tsconfig.json:
{"": "./configs/base","": ["main.ts", "supplemental.ts"]}
tsconfig.nostrictnull.json:
{"": "./tsconfig","": {"": false}}
設定ファイルに見つかった相対パスを持つプロパティで、継承から除外されていないものは、それらが由来した設定ファイルに対して解決されます。
- デフォルト
false - リリース済み
# Include - include
プログラムに含めるファイル名またはパターンの配列を指定します。これらのファイル名は、tsconfig.jsonファイルを含むディレクトリを基準にして解決されます。
json{"include": ["src/**/*", "tests/**/*"]}
これには以下が含まれます
. ├── scripts ⨯ │ ├── lint.ts ⨯ │ ├── update_deps.ts ⨯ │ └── utils.ts ⨯ ├── src ✓ │ ├── client ✓ │ │ ├── index.ts ✓ │ │ └── utils.ts ✓ │ ├── server ✓ │ │ └── index.ts ✓ ├── tests ✓ │ ├── app.test.ts ✓ │ ├── utils.ts ✓ │ └── tests.d.ts ✓ ├── package.json ├── tsconfig.json └── yarn.lock
includeとexcludeは、ワイルドカード文字をサポートしてglobパターンを作成します。
*は、0 個以上の文字(ディレクトリセパレーターを除く)に一致します。?は、任意の1文字(ディレクトリセパレーターを除く)に一致します。**/は、任意のレベルにネストされた任意のディレクトリに一致します。
パターンの最後のパスセグメントにファイル拡張子またはワイルドカード文字が含まれていない場合、それはディレクトリとして扱われ、そのディレクトリ内のサポートされている拡張子のファイルが含まれます(例:デフォルトでは.ts、.tsx、.d.tsで、allowJsがtrueに設定されている場合は.jsと.jsx)。
# Exclude - exclude
# References - references
プロジェクト参照は、TypeScript プログラムをより小さな部分に分割する方法です。プロジェクト参照を使用すると、ビルド時間とエディターのインタラクション時間を大幅に向上させ、コンポーネント間の論理的な分離を強化し、コードを新しい方法で整理することができます。
参照の動作の詳細については、ハンドブックのプロジェクト参照セクションを参照してください。
- デフォルト
false